Skip to content

Commit ff72b75

Browse files
Merge pull request #27 from NathanNeurotic/codex/enhance-makefile-and-github-actions-for-builds-6j1cz0
Add variant matrix enumeration and CI coverage
2 parents 4e023c3 + 3a71a56 commit ff72b75

4 files changed

Lines changed: 247 additions & 32 deletions

File tree

.github/workflows/cl.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: cl
2+
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
pull_request:
8+
workflow_dispatch:
9+
10+
jobs:
11+
enumerate:
12+
runs-on: ubuntu-latest
13+
container: ps2dev/ps2dev:latest
14+
outputs:
15+
matrix: ${{ steps.variants.outputs.matrix }}
16+
steps:
17+
- name: Install dependencies
18+
run: apk add --no-cache build-base git p7zip
19+
20+
- uses: actions/checkout@v4
21+
- name: Configure git
22+
run: |
23+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
24+
git fetch --prune --unshallow || true
25+
26+
- name: Enumerate variants
27+
id: variants
28+
run: |
29+
matrix=$(make list-variants)
30+
echo "matrix=$matrix" >> "$GITHUB_OUTPUT"
31+
32+
build:
33+
needs: enumerate
34+
runs-on: ubuntu-latest
35+
container: ps2dev/ps2dev:latest
36+
strategy:
37+
fail-fast: false
38+
matrix: ${{ fromJson(needs.enumerate.outputs.matrix) }}
39+
steps:
40+
- name: Install dependencies
41+
run: apk add --no-cache build-base git p7zip
42+
43+
- uses: actions/checkout@v4
44+
- name: Configure git
45+
run: |
46+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
47+
git fetch --prune --unshallow || true
48+
49+
- name: Compute metadata
50+
id: meta
51+
run: echo "short_sha=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
52+
53+
- name: Build ${{ matrix.name }}
54+
run: |
55+
SHORT_SHA=${{ steps.meta.outputs.short_sha }}
56+
OUTDIR="build/variants/${{ matrix.name }}"
57+
make VARIANT=${{ matrix.name }} ${{ matrix.flags }} OUTDIR=$OUTDIR COMMIT_HASH=$SHORT_SHA clean
58+
make VARIANT=${{ matrix.name }} ${{ matrix.flags }} OUTDIR=$OUTDIR COMMIT_HASH=$SHORT_SHA all
59+
test -f "$OUTDIR/BUILD_CONFIG.txt"
60+
61+
- name: Upload ${{ matrix.name }}
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: ps2bbl-${{ matrix.name }}-${{ steps.meta.outputs.short_sha }}
65+
path: build/variants/${{ matrix.name }}

0 commit comments

Comments
 (0)