Skip to content

Commit a945fb2

Browse files
authored
v2.4.0 release
* adds local monomod, uses HarmonyPrerelease flag to use it * switch submodule monomod to branch 'merge-reorganize-arm64' * wip * updates to fixes in monomod prerelease * 2.3.7-prerelease * adds recursive checkout to github platform tests * fix indention of previous commit * adds arm64 test * debug special case failure * handle try/fault with try/catch/finally logic * remove debugging * uses local monomod * bump version * increase timeout for MacOS-arm64 .NET/Mono * more timeout bumping * 45min max timeout should be enough * ci test changes * switch back to recursive submodule checkout * don't run twice on PRs * test: submodule MonoMod -> upstream reorganize 23e6a19f * Restore IL offset logging * fixes harmony logging il offsets and adds tests for it
1 parent 87cdb61 commit a945fb2

34 files changed

+419
-195
lines changed

.github/actions/test-build-cache/action.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@ runs:
1515
- name: Download Build Cache
1616
uses: actions/download-artifact@v4
1717
with:
18-
name: build-output-${{inputs.os}}-${{inputs.build_configuration}}
18+
pattern: build-output-${{inputs.os}}-${{inputs.build_configuration}}*
1919
path: HarmonyTests/bin/
20+
merge-multiple: true

.github/actions/test-execute-test/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ runs:
9595
uses: nick-fields/retry@v3
9696
if: ${{inputs.os == 'macos' || inputs.os == 'macos-arm64'}}
9797
with:
98-
timeout_minutes: 3
98+
timeout_minutes: 45
9999
max_attempts: 3
100100
retry_on: timeout
101101
command: |

.github/actions/test-upload-result/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ runs:
3232
name: ${{(inputs.experimental == 'true' && 'experimental-') || ''}}test-results-${{inputs.runtime-type}}-${{inputs.os}}-${{inputs.architecture}}-${{inputs.target_framework}}-${{inputs.build_configuration}}
3333
path: '**/*.trx'
3434
if-no-files-found: ${{(inputs.experimental == 'true' && 'ignore') || 'warn'}}
35+
compression-level: 0

.github/workflows/test-build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ jobs:
4343
timeout-minutes: 10
4444
steps:
4545
- uses: actions/checkout@v4
46+
with:
47+
submodules: recursive
4648

4749
- name: Setup .NET
4850
uses: actions/setup-dotnet@v4

.github/workflows/test-qemu-dotnet.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ jobs:
4242
timeout-minutes: 10
4343
steps:
4444
- uses: actions/checkout@v4
45+
with:
46+
submodules: recursive
4547

4648
- name: Download Build Cache
4749
uses: ./.github/actions/test-build-cache
@@ -69,14 +71,15 @@ jobs:
6971
dockerRunArgs: |
7072
--volume "${PWD}/src:/src"
7173
install: |
72-
apt-get update
73-
apt-get install -y wget libc6 libgcc-s1 libgssapi-krb5-2 libicu70 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g
74-
75-
wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh;
76-
chmod +x dotnet-install.sh;
77-
./dotnet-install.sh --channel LTS --no-path > /dev/null;
78-
./dotnet-install.sh --channel STS --no-path > /dev/null;
79-
./dotnet-install.sh --channel ${{steps.get_channel.outputs.channel}} --no-path > /dev/null;
74+
apt-get -yqq update
75+
apt-get -yqq install --no-install-recommends \
76+
wget libc6 libgcc-s1 libgssapi-krb5-2 libicu70 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g
77+
rm -rf /var/lib/apt/lists/*
78+
79+
wget -q https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh
80+
chmod +x dotnet-install.sh
81+
# Install only the required channel computed above; avoid redundant LTS/STS installs.
82+
./dotnet-install.sh --channel ${{steps.get_channel.outputs.channel}} --no-path > /dev/null
8083
run: |
8184
LD_LIBRARY_PATH="/usr/local/lib" /root/.dotnet/dotnet test "HarmonyTests/bin/${{inputs.build_configuration}}/${{inputs.target_framework}}/HarmonyTests.dll" -f ${{inputs.target_framework}} -l trx -l "console;verbosity=normal" --blame -- ${{inputs.run_settings_args}};
8285

.github/workflows/test-qemu-mono.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ jobs:
4242
timeout-minutes: 10
4343
steps:
4444
- uses: actions/checkout@v4
45+
with:
46+
submodules: recursive
4547

4648
- name: Download Build Cache
4749
uses: ./.github/actions/test-build-cache
@@ -63,9 +65,11 @@ jobs:
6365
dockerRunArgs: |
6466
--volume "${PWD}/src:/src"
6567
install: |
66-
apt-get update
67-
apt-get install -y wget libc6 libgcc-s1 libgssapi-krb5-2 libicu70 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g mono-devel
68-
68+
apt-get -yqq update
69+
apt-get -yqq install --no-install-recommends \
70+
wget libc6 libgcc-s1 libgssapi-krb5-2 libicu70 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g mono-devel
71+
rm -rf /var/lib/apt/lists/*
72+
6973
wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh;
7074
chmod +x dotnet-install.sh;
7175
./dotnet-install.sh --channel LTS --no-path > /dev/null;

.github/workflows/test-result-upload.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@ jobs:
1616
timeout-minutes: 5
1717
steps:
1818
- uses: actions/checkout@v4
19-
19+
with:
20+
submodules: recursive
21+
2022
- name: Download Test Results
2123
uses: actions/download-artifact@v4
2224
with:
2325
pattern: ${{(inputs.experimental && 'experimental-') || ''}}test-results-*
2426
path: test-results
27+
merge-multiple: true
2528

2629
- name: Publish Test Results
2730
uses: EnricoMi/publish-unit-test-result-action@v2

.github/workflows/test-unix-dotnet.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,11 @@ jobs:
5656
name: ${{inputs.build_configuration}}
5757
runs-on: ${{inputs.image}}
5858
continue-on-error: ${{inputs.experimental}}
59-
timeout-minutes: 10
59+
timeout-minutes: 45
6060
steps:
6161
- uses: actions/checkout@v4
62+
with:
63+
submodules: recursive
6264

6365
- name: Install Rosetta 2 on macOS
6466
if: ${{inputs.image == 'macos-14' && inputs.architecture == 'x64'}}
@@ -81,7 +83,8 @@ jobs:
8183
target_framework: ${{inputs.target_framework}}
8284
target_framework_array: ${{inputs.target_framework_array}}
8385

84-
- name: Get Installed .NET Sdk Information
86+
- name: Dotnet info (only if previous steps failed)
87+
if: ${{ failure() }}
8588
run: dotnet --info
8689
shell: pwsh
8790

.github/workflows/test-unix-mono.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ jobs:
5959
timeout-minutes: 10
6060
steps:
6161
- uses: actions/checkout@v4
62+
with:
63+
submodules: recursive
6264

6365
- name: Install Rosetta 2 on macOS
6466
if: ${{ inputs.image == 'macos-14' && inputs.architecture == 'x64' }}

.github/workflows/test-windows-dotnet.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ jobs:
5151
timeout-minutes: 10
5252
steps:
5353
- uses: actions/checkout@v4
54+
with:
55+
submodules: recursive
5456

5557
- name: Setup .NET Latest/${{inputs.target_framework}} ${{inputs.architecture}}
5658
uses: ./.github/actions/test-setup-dotnet-windows
@@ -68,7 +70,7 @@ jobs:
6870
with:
6971
os: windows
7072
build_configuration: ${{inputs.build_configuration}}
71-
73+
7274
- name: Test .NET ${{inputs.architecture}}
7375
uses: ./.github/actions/test-execute-test
7476
with:

0 commit comments

Comments
 (0)