Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: heavy linux workload on ubuntu-latest-4-cores #658

Merged
merged 22 commits into from
Oct 31, 2024
Merged
Changes from 15 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
uses: ./.github/workflows/sdk.yml
with:
target: Android
runsOn: ubuntu-latest
runsOn: ubuntu-latest-4-cores-arm64

ios-sdk:
uses: ./.github/workflows/sdk.yml
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
build:
needs: [android-sdk, ios-sdk, macos-sdk, linux-sdk, windows-crashpad-sdk, windows-breakpad-sdk]
name: Package
runs-on: ubuntu-latest
runs-on: ubuntu-latest-4-cores-arm64
steps:
- name: Checkout
uses: actions/checkout@v3
Expand Down Expand Up @@ -126,7 +126,7 @@ jobs:

test:
name: Test UE ${{ matrix.unreal }}
runs-on: ubuntu-latest
runs-on: ubuntu-latest-4-cores-arm64
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bitsandfoxes should we make this a matrix instead? So it runs on both 4-cores and 4-cores-arm64?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh actually that won't work because there are not arm64 docker images for UE?

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no official arm64 docker images for UE so it won't work (for now at least). However we may utilize our new arm64-runner for the future CI pipeline improvements (#575) and proper support of this arch (#473)


strategy:
fail-fast: false
Expand Down Expand Up @@ -169,6 +169,7 @@ jobs:
gid=1000 # the ue4 group in the docker container
user='gh'
set -x
cat /etc/passwd
docker network create --ipv6 --subnet 2001:0DB8::/112 ip6net
docker run -td \
--name unreal \
Expand All @@ -178,18 +179,22 @@ jobs:
--env PATH="/home/$user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
--network ip6net -p 80:80 \
ghcr.io/epicgames/unreal-engine:dev-slim-${{ matrix.unreal }}.1
docker ps
docker logout ghcr.io
# Add the user so it has a home directory (needed for the pip cache later on)
docker exec --user root unreal useradd -u $uid -g $gid --create-home $user
# Ensure CA certs are in the right directory (needed for running tests)
docker ps
docker exec --user root unreal bash -c "
mkdir -p /etc/pki/tls/certs ;
cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt "
# Chown some paths to the GH user to make UE5 work properly. We can't just chown the whole UnrealEngine or
# docker would implicitly have to copy it to the container and we would run out of space on the GH runner.
docker ps
docker exec --user root unreal bash -c "
chown -R $uid /home/ue4/UnrealEngine/Engine/Binaries/ThirdParty/Mono/Linux ;
chown -R $uid /home/ue4/UnrealEngine/Engine/Binaries/ThirdParty/DotNet "
docker ps

- name: Setup UE CLI
run: docker exec unreal bash -c '
Expand Down Expand Up @@ -257,4 +262,4 @@ jobs:
checkout/${{ matrix.app }}/Saved/Logs
checkout/${{ matrix.app }}/Saved/Stats
checkout/${{ matrix.app }}/Saved/MaterialStats
checkout/${{ matrix.app }}/Saved/MaterialStatsDebug
checkout/${{ matrix.app }}/Saved/MaterialStatsDebug
Loading