From c595d1960f516139d393de1951f5a63c07e30b8b Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sun, 30 May 2021 13:15:46 +0300 Subject: workflows/basic: test w/ multiple Pythons --- .github/workflows/basic.yml | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index c56bd9c..81d3b4a 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -18,14 +18,14 @@ jobs: - name: Run clang-format run: ./tools/project-clang-format.py --clang-format clang-format-10 - basic: + os: strategy: matrix: os: [ubuntu-20.04, windows-2016, windows-2019] include: - boost-version: 1.72.0 runs-on: '${{ matrix.os }}' - name: 'Build: ${{ matrix.os }}' + name: 'Image: ${{ matrix.os }}' defaults: run: shell: pwsh @@ -50,9 +50,44 @@ jobs: - name: Run example project run: ./.ci/run_foo.ps1 (Join-Path (Get-Location).Path install bin foo) + python-versions: + strategy: + matrix: + python-version: [3.6, 3.7, 3.8, 3.9] + include: + - os: ubuntu-20.04 + - boost-version: 1.72.0 + runs-on: '${{ matrix.os }}' + name: 'Python ${{ matrix.python-version }}' + defaults: + run: + shell: pwsh + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '${{ matrix.python-version }}' + - name: Cache Boost + uses: actions/cache@v2 + with: + path: boost_*.tar.gz + key: 'boost_${{ matrix.boost-version }}' + - name: Build Boost + run: | + python -m project.boost.download --cache . '${{ matrix.boost-version }}' boost + python -m project.boost.build -- boost --with-filesystem + - name: Build example project + run: | + $src_dir = Join-Path examples boost + python -m project.cmake.build --boost boost --install install -- $src_dir + - name: Run example project + run: ./.ci/run_foo.ps1 (Join-Path (Get-Location).Path install bin foo) + publish: # TODO: figure out how to add a dependency on the *toolsets workflows. - needs: [lint, basic] + needs: [lint, os, python-versions] runs-on: ubuntu-20.04 name: Publish steps: -- cgit v1.2.3