Skip to content

CI

CI #454

Workflow file for this run

name: CI
on:
push:
branches:
- "main"
- "*.*"
- "!*backport*"
tags:
- "v*"
- "!*dev*"
- "!*pre*"
- "!*post*"
pull_request:
# Allow manual runs through the web UI
workflow_dispatch:
schedule:
# ┌───────── minute (0 - 59)
# │ ┌───────── hour (0 - 23)
# │ │ ┌───────── day of the month (1 - 31)
# │ │ │ ┌───────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────── day of the week (0 - 6 or SUN-SAT)
- cron: "0 7 * * *" # Every day at 07:00 UTC
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
core:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
with:
submodules: false
coverage: codecov
libraries: |
apt:
- pandoc
- graphviz
envs: |
- linux: py313-sphinx8
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
with:
submodules: false
libraries: |
brew:
- pandoc
- graphviz
choco:
- pandoc
- graphviz
apt:
- pandoc
- graphviz
envs: |
- macos: py312-sphinx8
- windows: py311-sphinx8
- linux: py310-sphinx8
- linux: py312-pydata-sphinx-theme
- linux: py313-devdeps
extra_tests:
needs: [test]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
with:
submodules: false
libraries: |
apt:
- pandoc
- graphviz
envs: |
- linux: py312-pydata-sphinx-theme
- linux: py313-devdeps
docs:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@main
with:
submodules: false
pytest: false
libraries: |
apt:
- pandoc
- graphviz
envs: |
- linux: py313-docs
- linux: py313-linkcheck
sdist_verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- run: python -m pip install -U --user build
- run: python -m build . --sdist
- run: python -m pip install -U --user twine
- run: python -m twine check dist/*
conda:
needs: [test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: ablog-test
environment-file: ablog-conda-test-env.yml
python-version: "3.13"
- name: Install ablog
shell: bash -el {0}
run: |
pip install --no-deps --no-build-isolation .
- name: Run test
shell: bash -el {0}
run: |
conda list
cd /tmp
pytest -vvv -r a --pyargs ablog
make tests
publish:
# Build wheels on PRs only when labelled. Releases will only be published if tagged ^v.*
# see https://github-actions-workflows.openastronomy.org/en/latest/publish.html#upload-to-pypi
if: |
github.event_name != 'pull_request' ||
(
github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'Run publish')
)
needs: [test, docs, sdist_verify]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@main
with:
python-version: "3.13"
submodules: false
secrets:
pypi_token: ${{ secrets.PYPI_TOKEN }}