Skip to content

Bugfix ci

Bugfix ci #661

Workflow file for this run

name: CI
# Run on all PR's and on pushes/merges to deploy and master
on:
pull_request:
branches: ['master', 'dev/*', '!paper.md']
push:
branches: ['master', 'dev/*', '!paper.md']
tags: ["v*"]
env:
GITHUB_ACTION_IS_RUNNING: 1
jobs:
tests:
name: Tests
env:
MP_API_KEY: ${{ secrets.MP_API_KEY }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
with:
python-version: ${{ matrix.python-version }}
- name: Test with python ${{ matrix.python-version }}
run: uv run --frozen --extra test pytest -v --cov --cov-report xml lightshow/_tests
- uses: codecov/codecov-action@v5
timeout-minutes: 10
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v1
with:
src: "./lightshow"
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- name: build
run: uv run --frozen --extra doc make -C docs/ html
- name: artifact
uses: actions/upload-pages-artifact@v3
with:
path: 'docs/build/html/'
publish-code:
# This workflow follows the best practices outlined here:
# https://github.com/marketplace/actions/pypi-publish
# for deploying a project to PyPI via a GH action. It only runs on tags
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/project/lightshow/
permissions:
id-token: write
needs:
- tests
- ruff
- docs
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v4
- name: build
run: uv build
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://upload.pypi.org/legacy/
publish-docs:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs:
- tests
- ruff
- docs
- publish-code
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true
steps:
- name: publish
id: deployment
uses: actions/deploy-pages@v4