aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows/ci_github.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci_github.yml')
-rw-r--r--.github/workflows/ci_github.yml76
1 files changed, 76 insertions, 0 deletions
diff --git a/.github/workflows/ci_github.yml b/.github/workflows/ci_github.yml
new file mode 100644
index 0000000..b6f3ec5
--- /dev/null
+++ b/.github/workflows/ci_github.yml
@@ -0,0 +1,76 @@
+# The project.ci.github package is tested.
+
+name: CI (GitHub)
+
+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]
+ 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'
+ }