name: test on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [macOS-latest, ubuntu-latest, windows-latest] steps: - name: prepare git for checkout on windows if: matrix.os == 'windows-latest' run: | git config --global core.autocrlf false git config --global core.eol lf - name: checkout uses: actions/checkout@v2 - name: install brotli library on ubuntu if: matrix.os == 'ubuntu-latest' run: sudo apt update && sudo apt-get install -y libbrotli-dev - name: install brotli library on macOS if: matrix.os == 'macOS-latest' run: brew install brotli - name: make if: matrix.os != 'windows-latest' run: cd test && make - name: check fuzz test target if: matrix.os == 'ubuntu-latest' run: cd test && make -f Makefile.fuzz_test - name: setup msbuild on windows if: matrix.os == 'windows-latest' uses: microsoft/setup-msbuild@v1.0.2 - name: make-windows if: matrix.os == 'windows-latest' run: | cd test msbuild.exe test.sln /verbosity:minimal /t:Build "/p:Configuration=Release;Platform=x64" x64\Release\test.exe