CI: tweak the steps and add MACOSX_DEPLOYMENT_TARGET=10.15
for OSX …
#250
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI-Test | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
lint: | |
# pull requests are a duplicate of a branch push if within the same repo. | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
- uses: pre-commit/[email protected] | |
test: | |
# pull requests are a duplicate of a branch push if within the same repo. | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository | |
name: Tests | |
runs-on: ${{ matrix.host-os }} | |
needs: lint | |
strategy: | |
matrix: | |
host-os: ["ubuntu-latest", "macos-latest"] | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
fail-fast: false | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Set env.REPOSITORY_NAME # just the repo, as opposed to org/repo | |
run: | | |
export REPOSITORY_NAME=${GITHUB_REPOSITORY#*/} | |
echo "REPOSITORY_NAME=${REPOSITORY_NAME}" >> $GITHUB_ENV | |
python_version="${{ matrix.python-version }}" | |
export PYTHON_VERSION_NODOT="${python_version//\./}" | |
echo "PYTHON_VERSION_NODOT=${PYTHON_VERSION_NODOT}" >> $GITHUB_ENV | |
- name: Set MacOS Deployment Target | |
if: runner.os == 'macOS' | |
run: | | |
export MACOSX_DEPLOYMENT_TARGET="10.15" | |
echo "MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}" >> $GITHUB_ENV | |
- name: Install micromamba with build dependencies | |
uses: mamba-org/setup-micromamba@v1 | |
if: runner.os == 'macOS' | |
with: | |
init-shell: bash | |
environment-name: build-env | |
create-args: >- | |
python=${{ matrix.python-version }} | |
arpack=*=mpi_openmpi* | |
gfortran | |
openmpi | |
- name: Install tree program | |
if: runner.os == 'macOS' | |
run: | | |
brew install tree | |
- name: Set up Python ${{ matrix.python-version }} | |
# if: matrix.host-os != 'macos-latest' | |
if: runner.os != 'macOS' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
set -vxeuo pipefail | |
bash ./scripts/install-deps.sh | |
ls -Al . | |
ls -Al ./dist/ | |
tree . | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.REPOSITORY_NAME }}-wheels | |
path: dist/*.whl | |
- name: Test with pytest | |
run: | | |
set -vxeuo pipefail | |
bash ./scripts/run-tests.sh | |
docs: | |
# pull requests are a duplicate of a branch push if within the same repo. | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository | |
name: Documentation | |
runs-on: ubuntu-latest | |
needs: test | |
strategy: | |
matrix: | |
python-version: ["3.8"] | |
fail-fast: false | |
steps: | |
- name: Set env.REPOSITORY_NAME # just the repo, as opposed to org/repo | |
run: | | |
export REPOSITORY_NAME=${GITHUB_REPOSITORY#*/} | |
echo "REPOSITORY_NAME=${REPOSITORY_NAME}" >> $GITHUB_ENV | |
- name: Checkout the code | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
set -vxeuo pipefail | |
bash ./scripts/install-deps.sh | |
- name: Build Docs | |
run: | | |
set -vxeuo pipefail | |
bash ./scripts/build-docs.sh | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ env.REPOSITORY_NAME }}-docs | |
path: docs/build/html/ |