diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45cae4b..2839417 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -102,8 +102,18 @@ jobs: if-no-files-found: error compile-plugins: - name: compile-plugins + name: compile-plugins-sm${{ matrix.sm.label }} runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sm: + - label: "1.12" + branch: "1.12-dev" + image_tag: "1.12-dev" + - label: "1.13" + branch: "master" + image_tag: "master" steps: - name: Checkout @@ -111,10 +121,7 @@ jobs: - name: Clone SourceMod includes run: | - # The spcomp container only ever bundles one compiler build (tracking - # sourcepawn's master), so compile against SourceMod's master includes - # to match it — older branches' includes assume their own era's compiler. - git clone --depth 1 https://github.com/alliedmodders/sourcemod.git sourcemod + git clone --depth 1 -b ${{ matrix.sm.branch }} https://github.com/alliedmodders/sourcemod.git sourcemod - name: Compile Pawn plugins run: | @@ -122,12 +129,8 @@ jobs: status=0 for f in Pawn/*.sp; do echo "::group::${f}" - # The published image's declared entrypoint (/usr/local/bin/spcomp) doesn't - # match where the binary actually lives, so locate it ourselves. docker run --rm -v "${{ github.workspace }}:/work" -w /work \ - --entrypoint /bin/sh \ - ghcr.io/alliedmodders/sourcemod-spcomp:master \ - -c 'spcomp=$(find /usr/local/bin -maxdepth 2 -name spcomp -type f | head -n1); exec "$spcomp" "$@"' sh \ + ghcr.io/alliedmodders/sourcemod-spcomp:${{ matrix.sm.image_tag }} \ -i Pawn/includes -i sourcemod/plugins/include \ "${f}" -o "compiled/$(basename "${f%.sp}.smx")" \ || status=1