# Copyright (c) 2025 Quinn # Licensed under the MIT Licence. See LICENSE for details name: CI on: push: branches: - '**' pull_request: branches: - '**' env: VCPKG_DISABLE_METRICS: 1 VCPKG_ROOT: ${{github.workspace}}/.vcpkg WINEPREFIX: /tmp/wineprefix jobs: # # the mega job containing all things we need to do, since setting up a single system is more efficient than installing the same stuff on multiple ones # exec-ci-tasks: runs-on: ubuntu-latest steps: # general setup - name: checkout main branch uses: actions/checkout@v4 - name: checkout vcpkg uses: actions/checkout@v4 with: repository: microsoft/vcpkg path: ${{env.VCPKG_ROOT}} - run: . "$VCPKG_ROOT/bootstrap-vcpkg.sh" - name: get library data id: libdat run: echo "LIBS_HASH=vcpkg_installed-$(cat vcpkg.json | sha256sum | cut -d ' ' -f1)" >>"$GITHUB_OUTPUT" # restore the cache - uses: actions/cache@v4 id: vcpkg-cache with: path: vcpkg_installed key: ${{steps.libdat.outputs.LIBS_HASH}} restore-keys: vcpkg_installed- # setup vcpkg if the cache didn't hit - name: install vcpkg dependencies if: steps.vcpkg-cache.outputs.cache-hit != 'true' run: | "$VCPKG_ROOT/vcpkg" install --triplet=x64-linux-dynamic "$VCPKG_ROOT/vcpkg" install --triplet=x64-mingw-static # perform continuous integration actions - run: make x86_64-linux-gnu-gcc CALL=compile -j - run: make x86_64-w64-mingw32-gcc CALL=compile -j - run: make x86_64-linux-gnu-gcc CALL=run DEBUG=test -j - run: make x86_64-w64-mingw32-gcc CALL=run DEBUG=test -j