aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.github/workflows/ci_appveyor.yml79
-rw-r--r--.github/workflows/ci_travis.yml73
2 files changed, 152 insertions, 0 deletions
diff --git a/.github/workflows/ci_appveyor.yml b/.github/workflows/ci_appveyor.yml
new file mode 100644
index 0000000..3033607
--- /dev/null
+++ b/.github/workflows/ci_appveyor.yml
@@ -0,0 +1,79 @@
+# This workflow pretends like it's being run on AppVeyor by setting the
+# appropriate environment variables. The project.ci.appveyor package is
+# tested.
+
+name: CI (AppVeyor)
+
+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:
+ platform: [Win32, x64]
+ configuration: [Debug, Release]
+
+ runs-on: windows-2019
+
+ name: '${{ matrix.platform }} / ${{ matrix.configuration }}'
+
+ env:
+ # https://www.appveyor.com/docs/environment-variables/
+ APPVEYOR: 'True'
+ APPVEYOR_BUILD_FOLDER: '${{ github.workspace }}\examples\boost'
+ APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
+ PLATFORM: '${{ matrix.platform }}'
+ 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: Create C:\projects
+ run: mkdir C:\projects
+
+ - name: Build Boost
+ run: |
+ python -m project.ci.appveyor.boost -- --with-filesystem
+
+ - name: Build example project
+ run: |
+ python -m project.ci.appveyor.cmake --install ..\install
+
+ - name: Run example project
+ run: |
+ $foo_path = Join-Path (Split-Path (Get-Location).Path) install bin foo.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'
+ }
diff --git a/.github/workflows/ci_travis.yml b/.github/workflows/ci_travis.yml
new file mode 100644
index 0000000..be2d1cb
--- /dev/null
+++ b/.github/workflows/ci_travis.yml
@@ -0,0 +1,73 @@
+# This workflow pretends like it's being run on Travis by setting the
+# appropriate environment variables. The project.ci.travis package is tested.
+
+name: CI (Travis)
+
+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:
+ 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: Build Boost
+ run: |
+ python -m project.ci.travis.boost -- --with-filesystem
+
+ - name: Build example project
+ run: |
+ python -m project.ci.travis.cmake --install ../install
+
+ - name: Run example project
+ run: |
+ $foo_path = Join-Path (Split-Path (Get-Location).Path) install bin 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'
+ }