# This workflow pretends like it's being run on Travis by setting the # appropriate environment variables. name: CI (Travis) 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: configuration: [Debug, Release] runs-on: ubuntu-18.04 name: '${{ matrix.configuration }}' env: # https://docs.travis-ci.com/user/environment-variables/#default-environment-variables TRAVIS: 'true' TRAVIS_BUILD_DIR: '${{ github.workspace }}/examples/boost' 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: Cache Boost uses: actions/cache@v2.1.4 with: path: '${{ github.workspace }}/examples/build/boost_*.tar.gz' key: 'boost_${{ env.BOOST_VERSION }}' - name: Build Boost run: python -m project.ci.boost --hint Travis -- --with-filesystem - name: Build example project run: python -m project.ci.cmake --hint Travis --install - name: Run example project run: | cd "$env:TRAVIS_BUILD_DIR/../build/install/bin" $foo_path = Join-Path (Get-Location).Path foo $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' }