diff options
Diffstat (limited to '.github/workflows/test.yml')
-rw-r--r-- | .github/workflows/test.yml | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..e5118cc --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,58 @@ +name: Test + +on: + push: + pull_request: + schedule: + # Weekly, at 5:45 AM on Friday (somewhat randomly chosen). + - cron: '45 5 * * 5' + workflow_dispatch: + +jobs: + test: + strategy: + fail-fast: false + matrix: + platform: [x86, x64] + cygwin: [0, 1] + os: [ubuntu-18.04, windows-2019, windows-2016] + + include: + # Prettier run names. + - {os: ubuntu-18.04, name: Ubuntu} + - {os: windows-2019, name: Windows Server 2019} + - {os: windows-2016, name: Windows Server 2016} + - {cygwin: 1, name: Cygwin} + exclude: + # No Cygwin on Ubuntu. + - {os: ubuntu-18.04, cygwin: 1} + # Cygwin is the same on Windows Server 2016 & 2019. + - {os: windows-2016, cygwin: 1} + + runs-on: '${{ matrix.os }}' + + name: '${{ matrix.name }} / ${{ matrix.platform }}' + + continue-on-error: ${{ (matrix.os == 'windows-2016' || matrix.os == 'windows-2019') && !matrix.cygwin }} + + defaults: + run: + shell: pwsh + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Cygwin + uses: egor-tensin/setup-cygwin@master + with: + platform: '${{ matrix.platform }}' + if: matrix.cygwin + + - name: Set up GCC + uses: ./ + with: + platform: '${{ matrix.platform }}' + cygwin: '${{ matrix.cygwin }}' + + # I'm not really sure as to how to properly verify that it worked :-( |