diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 04b398475..b3d9cfa03 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,7 +38,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-20.04, windows-latest, macos-11] + os: [ubuntu-20.04, windows-latest, macos-11, macos-14] python_version: ['3.12'] include: - os: ubuntu-22.04 diff --git a/action.yml b/action.yml index ab07817dc..d927e8dd9 100644 --- a/action.yml +++ b/action.yml @@ -31,9 +31,25 @@ runs: python-version: "3.8 - 3.12" update-environment: false + - id: pipx + run: | + '${{ steps.python.outputs.python-path }}' -m venv --without-pip '${{ runner.temp }}/pipx4cibw' + '${{ steps.python.outputs.python-path }}' -m pip install --python '${{ runner.temp }}/pipx4cibw/bin/python' pipx + echo 'pipx-path=${{ runner.temp }}/pipx4cibw/bin/pipx' >> $GITHUB_OUTPUT + shell: bash + if: runner.os != 'Windows' + + - id: pipx-win + run: | + "${{ steps.python.outputs.python-path }}" -m venv --without-pip "${{ runner.temp }}\pipx4cibw" + "${{ steps.python.outputs.python-path }}" -m pip install --python "${{ runner.temp }}\pipx4cibw\Scripts\python.exe" pipx + echo "pipx-path=${{ runner.temp }}\pipx4cibw\Scripts\pipx.exe" >> $GITHUB_OUTPUT + shell: pwsh + if: runner.os == 'Windows' + # Redirecting stderr to stdout to fix interleaving issue in Actions. - run: > - pipx run + '${{ steps.pipx-unix.outputs.pipx-path }}' run --python '${{ steps.python.outputs.python-path }}' --spec '${{ github.action_path }}' cibuildwheel @@ -47,7 +63,7 @@ runs: # Windows needs powershell to interact nicely with Meson - run: > - pipx run + "${{ steps.pipx-win.outputs.pipx-path }}" run --python "${{ steps.python.outputs.python-path }}" --spec "${{ github.action_path }}" cibuildwheel