Skip to content

Commit a04d5b1

Browse files
ci: add ps2dev latest migration probe workflow
1 parent a98ba2b commit a04d5b1

1 file changed

Lines changed: 111 additions & 0 deletions

File tree

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
name: CI-ps2dev-migration-probe
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '.github/workflows/ci-ps2dev-migration-probe.yml'
7+
- '.github/workflows/compilation.yml'
8+
- 'Makefile'
9+
- '**/*.mk'
10+
workflow_dispatch:
11+
12+
jobs:
13+
build-probe:
14+
runs-on: ubuntu-latest
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
include:
19+
- container_image: ps2max/dev:v20250725-2
20+
label: ps2max-dev-v20250725-2
21+
- container_image: ps2dev/ps2dev:latest
22+
label: ps2dev-latest
23+
container: ${{ matrix.container_image }}
24+
steps:
25+
- name: git checkout
26+
uses: actions/checkout@v6
27+
28+
- name: Mark workspace safe and fetch history
29+
run: |
30+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
31+
git fetch --prune --unshallow
32+
33+
- name: Install diagnostic host dependencies (Alpine only)
34+
run: |
35+
if command -v apk >/dev/null 2>&1; then
36+
apk add --no-cache \
37+
bash \
38+
make \
39+
git \
40+
zip \
41+
unzip \
42+
tar \
43+
gzip \
44+
xz \
45+
python3 \
46+
py3-pip \
47+
perl \
48+
cmake \
49+
pkgconf \
50+
coreutils \
51+
findutils \
52+
grep \
53+
sed \
54+
gawk \
55+
diffutils
56+
fi
57+
58+
- name: Capture fingerprint and SDK snapshot
59+
run: |
60+
set +e
61+
{
62+
echo "===== /etc/os-release ====="
63+
cat /etc/os-release || true
64+
echo "===== uname -a ====="
65+
uname -a || true
66+
echo "===== env | sort ====="
67+
env | sort || true
68+
echo "===== PS2 vars ====="
69+
echo "PS2DEV=${PS2DEV}"
70+
echo "PS2SDK=${PS2SDK}"
71+
echo "GSKIT=${GSKIT}"
72+
echo "PATH=${PATH}"
73+
echo "===== host tools ====="
74+
which sh bash make git zip unzip tar gzip xz python3 perl cmake pkg-config gawk sed grep find || true
75+
echo "===== cross tools ====="
76+
which mips64r5900el-ps2-elf-gcc || true
77+
which mipsel-none-elf-gcc || true
78+
echo "===== cross tool versions ====="
79+
mips64r5900el-ps2-elf-gcc --version || true
80+
mipsel-none-elf-gcc --version || true
81+
echo "===== PS2SDK tree ====="
82+
ls -la "$PS2DEV" || true
83+
ls -la "$PS2SDK" || true
84+
ls -la "$GSKIT" || true
85+
echo "===== Defs.make ====="
86+
if test -f "$PS2SDK/Defs.make"; then
87+
sed -n '1,160p' "$PS2SDK/Defs.make"
88+
else
89+
echo "Missing: $PS2SDK/Defs.make"
90+
fi
91+
echo "===== Makefile variables ====="
92+
if test -f Makefile; then
93+
grep -E '^(PS2DEV|PS2SDK|GSKIT|EE_|IOP_|DVP_|CC|CFLAGS|LDFLAGS|LIBS)\s*[:?+]?=' Makefile || true
94+
fi
95+
} | tee env-fingerprint.log
96+
97+
find "$PS2SDK" -maxdepth 4 \( -name '*.a' -o -name '*.h' -o -name '*.irx' -o -name '*.elf' \) -print 2>/dev/null | sort > ps2sdk-snapshot.log || true
98+
99+
- name: Build (same command as production workflow)
100+
run: |
101+
make --trace clean release 2>&1 | tee build.log
102+
103+
- name: Upload diagnostics
104+
if: ${{ always() }}
105+
uses: actions/upload-artifact@v6
106+
with:
107+
name: diagnostics-${{ matrix.label }}
108+
path: |
109+
env-fingerprint.log
110+
ps2sdk-snapshot.log
111+
build.log

0 commit comments

Comments
 (0)