name: Basic usage on: workflow_call: workflow_dispatch: permissions: {} jobs: # Check that the most basic use-case works on different OSs. os: strategy: matrix: os: - ubuntu-22.04 - ubuntu-24.04 - ubuntu-26.04 - windows-2022 - windows-2025 - macos-14 - macos-15 - macos-26 include: - boost-version: 1.91.0 runs-on: ${{ matrix.os }} name: 'Image: ${{ matrix.os }}' defaults: run: shell: pwsh steps: - name: Checkout uses: actions/checkout@v7 with: persist-credentials: false - name: Set up Python uses: actions/setup-python@v7 with: python-version: '3.x' - name: Cache Boost uses: actions/cache@v6 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/ filesystem - name: Build example project run: | python -m project.build --boost boost/ --install install/ -- test/examples/boost/ build/ - name: Set common variables uses: $/.github/actions/common-variables with: toolset: auto - name: Run example project uses: $/.github/actions/run-example-boost with: install_dir: install # Check that the most basic use-case works w/ different Python versions. python-versions: strategy: matrix: python-version: - '3.11' - '3.12' - '3.13' - '3.14' include: - os: ubuntu-latest - boost-version: 1.82.0 runs-on: '${{ matrix.os }}' name: 'Python ${{ matrix.python-version }}' defaults: run: shell: pwsh steps: - name: Checkout uses: actions/checkout@v7 with: fetch-depth: 0 persist-credentials: false - name: Set up Python uses: actions/setup-python@v7 with: python-version: '${{ matrix.python-version }}' - name: Cache Boost uses: actions/cache@v6 with: path: boost_*.tar.gz key: 'boost_${{ matrix.boost-version }}' - name: 'Install package & dependencies' run: pip install -q -e . - name: Check that scripts are runnable run: | boost-download --version boost-build --version project-build --version - name: Build Boost run: | boost-download --cache . '${{ matrix.boost-version }}' boost/ boost-build boost/ filesystem - name: Build example project run: | project-build --boost boost/ --install install/ -- test/examples/boost/ build/ - name: Set common variables uses: $/.github/actions/common-variables with: toolset: auto - name: Run example project uses: $/.github/actions/run-example-boost with: install_dir: install