# The project.ci.github package is tested. name: CI (GitHub) on: push: pull_request: schedule: # Weekly, at 5:30 AM on Saturday (somewhat randomly chosen). - cron: '30 5 * * 6' workflow_dispatch: jobs: build: strategy: matrix: os: [ubuntu-18.04, windows-2019] configuration: [Debug, Release] include: # Prettier run names. - {os: ubuntu-18.04, name: Ubuntu} - {os: windows-2019, name: VS 2019} runs-on: '${{ matrix.os }}' name: '${{ matrix.name }} / ${{ matrix.configuration }}' env: platform: x64 configuration: '${{ matrix.configuration }}' boost_version: 1.72.0 defaults: run: shell: pwsh steps: - name: Checkout uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Build Boost run: python -m project.ci.github.boost -- --with-filesystem - name: Build example project run: python -m project.ci.github.cmake --install --subdir examples/boost -- -D Boost_DEBUG=ON - name: Run example project run: | cd (Join-Path $env:GITHUB_WORKSPACE .. install bin) $foo_path = Join-Path (Get-Location).Path foo if ('${{ runner.os }}' -eq 'Windows') { $foo_path += '.exe' } $relative = 'test.txt' $absolute = Join-Path (Get-Location).Path $relative $actual = & $foo_path $relative echo 'Actual output:' echo $actual $expected = $foo_path,$absolute echo 'Expected output:' echo $expected if (Compare-Object $actual $expected -CaseSensitive) { throw 'Unexpected output' }