# Some convenient links: # - https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md # name: CI-mingw on: push: branches: - 'main' - 'releases/**' tags: - '2.*' pull_request: permissions: contents: read defaults: run: shell: msys2 {0} jobs: build_mingw: strategy: matrix: # the MinGW installation in windows-2019 is supposed to be 8.1 but it is 12.2 # the MinGW installation in windows-2022 is not including all necessary packages by default, so just use the older image instead - package versions are he same os: [windows-2019] fail-fast: false runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Set up MSYS2 uses: msys2/setup-msys2@v2 with: release: false # use pre-installed install: >- mingw-w64-x86_64-lld mingw-w64-x86_64-ccache - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} # TODO: bail out on warning - name: Build cppcheck run: | export PATH="/mingw64/lib/ccache/bin:$PATH" # set RDYNAMIC to work around broken MinGW detection make VERBOSE=1 RDYNAMIC=-lshlwapi -j2 cppcheck env: LDFLAGS: -fuse-ld=lld # use lld for faster linking - name: Build test run: | export PATH="/mingw64/lib/ccache/bin:$PATH" # set RDYNAMIC to work around broken MinGW detection make VERBOSE=1 RDYNAMIC=-lshlwapi -j2 testrunner env: LDFLAGS: -fuse-ld=lld # use lld for faster linking - name: Run test run: | export PATH="/mingw64/lib/ccache/bin:$PATH" # set RDYNAMIC to work around broken MinGW detection make VERBOSE=1 RDYNAMIC=-lshlwapi -j2 check env: LDFLAGS: -fuse-ld=lld # use lld for faster linking