Skip to content

Prepare for release of v1.18 (#728) #2645

Prepare for release of v1.18 (#728)

Prepare for release of v1.18 (#728) #2645

Workflow file for this run

name: CI
on:
# Allow manual runs through the web UI
workflow_dispatch:
push:
# Only run CI on main, release branches, and pre-release auto PRs
branches:
- 'main'
- '*.*'
- '!prepare-v*'
tags:
- 'v*'
- '!*dev*'
- '!*pre*'
- '!*post*'
pull_request:
release:
types: [published]
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 9 * * 1' # Every Monday at 0900 UTC
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
tests:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@a138926f6e4f9667d1306c24f24f5bdcaa01fbab # v2.5.0
with:
coverage: 'codecov'
posargs: '--color=yes'
envs: |
- linux: py314
- macos: py313
- windows: py312
- linux: py311
- linux: py311-oldestdeps
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
docs:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@a138926f6e4f9667d1306c24f24f5bdcaa01fbab # v2.5.0
with:
default_python: '3.14'
coverage: 'codecov'
envs: |
- linux: build_docs-notebooks
pytest: false
libraries:
apt:
- graphviz
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
mypy:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@a138926f6e4f9667d1306c24f24f5bdcaa01fbab # v2.5.0
with:
pytest: false
envs: |
- linux: mypy
sdist_verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
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/*
allowed-fail-tests:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@a138926f6e4f9667d1306c24f24f5bdcaa01fbab # v2.5.0
with:
coverage: 'codecov'
posargs: '--color=yes'
envs: |
- linux: py312-online
- linux: py313-devdeps
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
build_dists:
needs: [tests]
if: |
github.event_name != 'pull_request' || (
github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'Run publish')
)
uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@a138926f6e4f9667d1306c24f24f5bdcaa01fbab # v2.5.0
with:
python-version: '3.13'
test_extras: tests
test_command: pytest --pyargs dkist -k "not test_fail" --remote-data=none --benchmark-skip
# We have to work around a github runner bug here: https://github.com/actions/runner/issues/2788#issuecomment-2145922705
save_artifacts: true
upload_to_pypi: false
publish:
needs: [build_dists]
if: startsWith(github.ref, 'refs/tags/v')
name: Upload to PyPI
runs-on: ubuntu-latest
permissions:
id-token: write
environment:
name: pypi
steps:
- name: Download artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
merge-multiple: true
pattern: dist-*
path: dist
- run: ls -lha dist/
- name: Run upload
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
notify:
if: always() && github.event_name != 'pull_request' && github.ref_name == 'main'
needs: [tests, allowed-fail-tests, publish]
runs-on: ubuntu-latest
environment:
name: notify
steps:
- uses: Cadair/matrix-notify-action@31c7cc36051ee7dc4157a22c1f13dbc7d68e5120 # v2
with:
matrix_token: ${{ secrets.matrix_access_token }}
github_token: ${{ secrets.GITHUB_TOKEN }}
homeserver: ${{ secrets.matrix_homeserver }}
roomid: '!RehafayCrAiXbzVpXI:openastronomy.org'
ignore_pattern: '.*(Load|report overall).*'
summarise_success: true