MNT: Use hash for Action workflow versions and update if needed #308
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 | |
on: | |
push: | |
pull_request: | |
schedule: | |
# Weekly Monday 4AM build | |
# * is a special character in YAML so you have to quote this string | |
- cron: '0 4 * * 1' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: read | |
jobs: | |
# TODO: Uncomment when you ready to fix PEP 8 warnings. | |
# Maybe even merge into pep_and_audit job. | |
#pep8: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
# with: | |
# fetch-depth: 0 | |
# - name: Set up Python | |
# uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
# with: | |
# python-version: '3.x' | |
# - name: Lint with flake8 | |
# run: | | |
# python -m pip install --upgrade pip flake8 | |
# flake8 lib/stsci/tools --count | |
pep_and_audit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: '3.x' | |
# Make sure that packaging will work | |
- name: pep517 build | |
run: | | |
python -m pip install --upgrade setuptools build "twine>=3.3" | |
python -m build --sdist . | |
twine check --strict dist/* | |
- name: Security audit | |
run: | | |
python -m pip install --upgrade bandit | |
bandit -r . -c .bandit.yaml | |
initial_tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: '3.11' | |
- name: Install and build | |
run: | | |
python -m pip install --upgrade pip wheel setuptools | |
python -m pip install -e .[test] | |
- name: Test without optional deps | |
run: pytest | |
dev_deps_tests: | |
runs-on: ubuntu-latest | |
needs: [pep_and_audit, initial_tests] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: '3.13-dev' | |
- name: Install and build | |
run: | | |
python -m pip install --upgrade pip wheel setuptools | |
python -m pip install --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy>=0.0.dev0 --pre --upgrade | |
python -m pip install --extra-index-url https://pypi.anaconda.org/liberfa/simple pyerfa>=0.0.dev0 --pre --upgrade | |
python -m pip install --extra-index-url https://pypi.anaconda.org/astropy/simple astropy>=0.0.dev0 --pre --upgrade | |
python -m pip install -e .[test] | |
- name: Test with dev deps | |
run: pytest | |
old_deps_tests: | |
runs-on: ubuntu-latest | |
needs: [pep_and_audit, initial_tests] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: '3.8' | |
- name: Install and build | |
run: | | |
python -m pip install --upgrade pip wheel setuptools | |
python -m pip install astropy==5.0.4 | |
python -m pip install -e .[test] | |
- name: Test with old deps | |
run: pytest | |
link_check: | |
runs-on: ubuntu-latest | |
needs: [pep_and_audit, initial_tests] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: '3.x' | |
- name: Install and build | |
run: | | |
python -m pip install --upgrade pip wheel setuptools | |
python -m pip install -e .[docs] | |
- name: Docs link check | |
run: | | |
cd doc | |
make linkcheck | |
shell: bash |