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: os: [windows-2019] platform: [x86, x64] env: ['', 'winsymlinks:nativestrict'] include: - {os: windows-2019, name: 'Windows 2019'} - {env: '', env_descr: 'Empty %CYGWIN%'} - {env: 'winsymlinks:nativestrict', env_descr: 'Custom %CYGWIN%'} runs-on: '${{ matrix.os }}' name: '${{ matrix.name }} / ${{ matrix.platform }} / ${{ matrix.env_descr }}' defaults: run: shell: pwsh steps: - name: Checkout uses: actions/checkout@v2 - name: Set up Cygwin id: setup uses: ./ with: platform: '${{ matrix.platform }}' install-dir: C:\cg packages: cmake gcc env: '${{ matrix.env }}' - name: Run bash run: | $output = C:\cg\bin\bash.exe --login -c 'echo foobar' $($output -eq 'foobar') -or $(throw $output) - name: Run cmake run: | C:\cg\bin\cmake.exe --version - name: Check CYGWIN environment variable run: | $(Test-Path env:CYGWIN) -or $(throw '%CYGWIN% is not set!') $($env:CYGWIN -eq '${{ matrix.env }}') -or $(throw "Unexpected %CYGWIN% value: $env:CYGWIN")