# 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: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-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}} - 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: ${{matrix.os}}-${{steps.libdat.outputs.LIBS_HASH}} restore-keys: ${{matrix.os}}-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/bootstrap-vcpkg.sh" "$VCPKG_ROOT/vcpkg" install # perform continuous integration actions - run: make compile -j - run: make run DEBUG=test -j