From 37b051e99fc6b0706f5dc4b2f01dbbbb9b96355a Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Mon, 18 Jan 2021 02:06:16 +0300 Subject: workflows: add "Basic usage" --- .github/workflows/basic.yml | 72 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/basic.yml diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml new file mode 100644 index 0000000..1d49a80 --- /dev/null +++ b/.github/workflows/basic.yml @@ -0,0 +1,72 @@ +name: Basic usage + +on: + push: + branches-ignore: + - travis + - appveyor + 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] + + include: + # Prettier run names. + - {os: windows-2019, name: VS 2019} + - {os: ubuntu-18.04, name: Ubuntu} + + runs-on: '${{ matrix.os }}' + + name: '${{ matrix.name }}' + + 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.boost.download 1.72.0 + python -m project.boost.build -- boost_1_72_0 --with-filesystem + + - name: Build example project + run: | + $src_dir = Join-Path examples boost + python -m project.cmake.build --boost boost_1_72_0 --install install -- $src_dir + + - name: Run example project + run: | + $foo_path = Join-Path (Get-Location).Path install bin 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' + } -- cgit v1.2.3