Skip to content

Commit 82ef206

Browse files
Fix workflow diagnostics: avoid broken pipe, add fail-fast: false
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d760114 commit 82ef206

1 file changed

Lines changed: 22 additions & 20 deletions

File tree

.github/workflows/determinism.yml

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ on:
1010
jobs:
1111
build-archive:
1212
strategy:
13+
fail-fast: false
1314
matrix:
1415
os: [ubuntu-latest, windows-latest]
1516
runs-on: ${{ matrix.os }}
@@ -22,25 +23,17 @@ jobs:
2223
with:
2324
dotnet-version: '8.0.x'
2425

25-
- name: Print .NET info
26-
run: dotnet --info
27-
2826
- name: Clone test data
2927
run: git clone --depth 1 https://github.com/MS2Community/MapleStory2-XML.git test-data
3028

3129
- name: Diagnose test data
3230
shell: bash
3331
run: |
34-
echo "=== File count ==="
32+
echo "File count:"
3533
find test-data/Server -type f | wc -l
36-
echo "=== First 10 files (sorted) ==="
37-
find test-data/Server -type f | sort | head -10
38-
echo "=== Sample file hash (raw) ==="
39-
sha256sum test-data/Server/AI/AI_Anos.xml
40-
echo "=== Sample file size ==="
41-
wc -c test-data/Server/AI/AI_Anos.xml
42-
echo "=== Sample file line endings ==="
43-
xxd test-data/Server/AI/AI_Anos.xml | head -3
34+
echo "Sample file hash and size:"
35+
sha256sum test-data/Server/AI/AI_Anos.xml || true
36+
wc -c test-data/Server/AI/AI_Anos.xml || true
4437
4538
- name: Build
4639
run: dotnet build MS2Tools.sln -c Release
@@ -64,15 +57,15 @@ jobs:
6457
shell: bash
6558
run: |
6659
echo "=== Test Fixture ==="
67-
sha256sum out-fixture1/TestFixture.m2d out-fixture1/TestFixture.m2h | tee fixture-run1-full.txt
68-
sha256sum out-fixture2/TestFixture.m2d out-fixture2/TestFixture.m2h | tee fixture-run2-full.txt
69-
awk '{print $1}' fixture-run1-full.txt > fixture-run1.txt
70-
awk '{print $1}' fixture-run2-full.txt > fixture-run2.txt
60+
sha256sum out-fixture1/TestFixture.m2d out-fixture1/TestFixture.m2h
61+
sha256sum out-fixture2/TestFixture.m2d out-fixture2/TestFixture.m2h
62+
awk '{print $1}' <(sha256sum out-fixture1/TestFixture.m2d out-fixture1/TestFixture.m2h) > fixture-run1.txt
63+
awk '{print $1}' <(sha256sum out-fixture2/TestFixture.m2d out-fixture2/TestFixture.m2h) > fixture-run2.txt
7164
echo "=== Server ==="
72-
sha256sum out-server1/Server.m2d out-server1/Server.m2h | tee server-run1-full.txt
73-
sha256sum out-server2/Server.m2d out-server2/Server.m2h | tee server-run2-full.txt
74-
awk '{print $1}' server-run1-full.txt > server-run1.txt
75-
awk '{print $1}' server-run2-full.txt > server-run2.txt
65+
sha256sum out-server1/Server.m2d out-server1/Server.m2h
66+
sha256sum out-server2/Server.m2d out-server2/Server.m2h
67+
awk '{print $1}' <(sha256sum out-server1/Server.m2d out-server1/Server.m2h) > server-run1.txt
68+
awk '{print $1}' <(sha256sum out-server2/Server.m2d out-server2/Server.m2h) > server-run2.txt
7669
7770
- name: Verify same-platform determinism (test-fixture)
7871
shell: bash
@@ -100,6 +93,15 @@ jobs:
10093
name: hashes-${{ matrix.os }}
10194
path: server-run1.txt
10295

96+
- name: Upload diagnostics
97+
if: always()
98+
uses: actions/upload-artifact@v4
99+
with:
100+
name: diag-${{ matrix.os }}
101+
path: |
102+
server-run1.txt
103+
fixture-run1.txt
104+
103105
compare-platforms:
104106
needs: build-archive
105107
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)