Fix error in zenodo.json, add CITATION file #231
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: Build package | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 4 | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/cache@v3 | |
name: Load cache (Linux) | |
if: startsWith(runner.os, 'Linux') | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- uses: actions/cache@v3 | |
name: Load cache (macOS) | |
if: startsWith(runner.os, 'macOS') | |
with: | |
path: ~/Library/Caches/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- uses: actions/cache@v3 | |
name: Load cache (Windows) | |
if: startsWith(runner.os, 'Windows') | |
with: | |
path: ~\AppData\Local\pip\Cache | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Install python build module | |
run: | | |
python -m pip install --upgrade pip build flake8 pytest | |
- name: Build the project | |
run: | | |
python -m pip install -e . -v | |
- name: Lint (flake8) | |
run: | | |
# stop the build if there are Python syntax errors or undefined names | |
python -m flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
python -m flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
- name: Run tests | |
run: | | |
python -m pytest | |
build_wheels: | |
runs-on: ${{matrix.os}} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
pyver: [cp39, cp310, cp311, cp312] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Build wheels | |
uses: pypa/[email protected] | |
env: | |
CIBW_BUILD: ${{matrix.pyver}}-* | |
CIBW_ARCHS_LINUX: auto | |
CIBW_ARCHS_MACOS: auto universal2 | |
CIBW_ARCHS_WINDOWS: auto | |
# musllinux tests fail with some pid mixup | |
# cross-build macos images can't be tested on this runner. | |
CIBW_TEST_SKIP: >- | |
*-* | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wheels | |
path: ./wheelhouse/*.whl | |
create-release: | |
runs-on: ubuntu-latest | |
needs: build_wheels | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: wheels | |
name: wheels | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
wheels/* | |
upload_all: | |
runs-on: ubuntu-latest | |
needs: build_wheels | |
environment: | |
name: pypi | |
url: https://pypi.org/p/chmpy/ | |
permissions: | |
id-token: write | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: wheels | |
path: dist | |
- uses: pypa/gh-action-pypi-publish@release/v1 |