Cron Scheduled CI Tests #188
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
# GitHub Actions workflow that runs on a cron schedule. | |
name: Cron Scheduled CI Tests | |
on: | |
workflow_dispatch: | |
schedule: | |
# run at 9am UTC on Mondays | |
- cron: '0 9 * * 1' | |
pull_request: | |
# We also want this workflow triggered if the 'Extra CI' label is added | |
# or present when PR is updated | |
types: | |
- synchronize | |
- labeled | |
permissions: | |
contents: read | |
jobs: | |
# The linkcheck job tests that the links in the docs point to real places | |
# The if statement is to prevent cron from running on forks. | |
linkcheck: | |
runs-on: ubuntu-latest | |
if: (github.repository == 'spacetelescope/jdaviz' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'Extra CI'))) | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python to build docs with sphinx | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install base dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install tox | |
- name: Check links in docs using tox | |
run: tox -e linkcheck | |
ci_cron_tests_dev_roman: | |
name: Python 3.11 with latest dev versions of key dependencies and Roman | |
runs-on: ubuntu-latest | |
if: (github.repository == 'spacetelescope/jdaviz' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'Extra CI'))) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: Install base dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install tox | |
- name: Test with tox | |
run: tox -e py311-test-devdeps-romandeps | |
ci_cron_tests_stable_roman: | |
name: Python 3.10 with stable versions of dependencies and Roman | |
runs-on: ubuntu-latest | |
if: (github.repository == 'spacetelescope/jdaviz' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'Extra CI'))) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install base dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install tox | |
- name: Test with tox | |
run: tox -e py310-test-romandeps |