1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
name: CI
on:
workflow_dispatch:
schedule:
- cron: '0 6 * * 1' # Every Monday at 6am UTC
push:
branches:
- main
- '*.x'
tags:
- '*'
pull_request:
# We also want this workflow triggered if the `jsonschema` label is
# added or present when PR is updated
types:
- synchronize
- labeled
# Only cancel in-progress jobs or runs for the current workflow
# This cancels the already triggered workflows for a specific PR without canceling
# other instances of this workflow (other PRs, scheduled triggers, etc) when something
# within that PR re-triggers this CI
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: pre-commit/action@v3.0.1
core:
needs: [pre-commit]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: coverage
name: Python 3.14 coverage
python-version: 3.14
- linux: coverage
name: Python 3.13 coverage
python-version: 3.13
- linux: coverage
name: Python 3.12 coverage
python-version: 3.12
- linux: coverage
name: Python 3.11 coverage
python-version: 3.11
- linux: coverage
name: Python 3.10 coverage
python-version: 3.10
coverage: codecov
jsonschema:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
if: (github.repository == 'asdf-format/asdf' && (github.event_name == 'schedule' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'jsonschema')))
with:
submodules: false
envs: |
- linux: jsonschema
python-version: 3.12
asdf-schemas:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: asdf-standard
python-version: 3.12
- linux: asdf-transform-schemas
python-version: 3.12
test:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- macos: py311-parallel
- windows: py311-parallel
dev:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: py310-coverage-devdeps-parallel
- linux: py311-coverage-devdeps-parallel
- linux: py312-coverage-devdeps-parallel
- linux: py313-coverage-devdeps-parallel
- linux: py314-coverage-devdeps-parallel
# separate pytest so a failure here doesn't cause the whole suite to fail
- linux: py314-coverage-pytestdev-parallel
coverage: codecov
oldest:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: py310-oldestdeps-parallel
compatibility:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: compatibility
python-version: 3.11
mocks3:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: mocks3
python-version: 3.12
|