gh-358: add static types support #664
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: Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
# ensure the draft PRs are tested when ready | |
types: | |
- opened | |
- ready_for_review | |
- reopened | |
- synchronize | |
concurrency: | |
# Skip intermediate builds: always. | |
# Cancel intermediate builds: only if it is a pull request build. | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
env: | |
# The "FORCE_COLOR" variable, when set to 1, | |
# tells Nox to colorize itself. | |
FORCE_COLOR: "1" | |
jobs: | |
tests: | |
name: Tests | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: | |
- "3.9" | |
- "3.10" | |
- "3.11" | |
- "3.12" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install nox and coverage.py | |
run: pip install coverage[toml] nox | |
- name: Install ubuntu dependencies for fitsio | |
run: | | |
sudo apt-get update | |
sudo apt-get install libbz2-dev | |
- name: Run doctests | |
run: nox -s doctests-${{ matrix.python-version }} --verbose | |
- name: Run tests and generate coverage report | |
run: nox -s coverage-${{ matrix.python-version }} --verbose | |
- name: Coveralls requires XML report | |
run: coverage xml | |
- name: Run Coveralls in parallel | |
uses: coverallsapp/github-action@v2 | |
with: | |
flag-name: run-${{ matrix.python-version }} | |
parallel: true | |
aggregate-tests: | |
needs: tests | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
parallel-finished: true | |
carryforward: run-3.9,run-3.10,run-3.11,run-3.12 | |
build: | |
name: Build | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.x | |
- name: Install nox | |
run: pip install nox | |
- name: Build SDist and wheel | |
run: nox -s build --verbose | |
docs: | |
name: Docs | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.x | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install pandoc | |
pip install nox | |
- name: Build docs | |
run: nox -s docs --verbose |