name: Linux Build on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: matrix: build-type: ["Debug", "Release"] name: Linux ${{ matrix.build-type }} steps: - uses: actions/checkout@v6 - name: Install Deps run: | sudo apt update sudo apt install libsdl2-dev libfreetype-dev libsdl2-mixer-dev libwebp-dev libportmidi-dev libcjson-dev asciidoctor gettext - name: Build run: | mkdir -p out/${{ matrix.build-type }} cd out/${{ matrix.build-type }} cmake -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} ../../ make -j4 - name: Test run: ctest --output-on-failure working-directory: out/${{ matrix.build-type }} - name: Verify xsystem35.pot is up to date if: matrix.build-type == 'Debug' run: | xgettext --default-domain=xsystem35 --directory=. \ --keyword=_ --keyword=N_ \ --files-from=po/POTFILES.in \ --output=/tmp/fresh.pot if ! diff <(grep '^msgid' po/xsystem35.pot | sort) \ <(grep '^msgid' /tmp/fresh.pot | sort); then echo "::error::po/xsystem35.pot is out of date. Build the 'pot' target and commit the changes under po/." exit 1 fi