Skip to content

proof of concept UI, created using FastUI to display status of the jobs in the browser #556

proof of concept UI, created using FastUI to display status of the jobs in the browser

proof of concept UI, created using FastUI to display status of the jobs in the browser #556

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- '**'
pull_request: {}
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install -r requirements/linting.txt -r requirements/pyproject.txt pre-commit
- run: pre-commit run -a --verbose
env:
SKIP: no-commit-to-branch
docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install -r requirements/docs.txt -r requirements/pyproject.txt
- run: pip install .
- run: make docs
- name: Store docs site
uses: actions/upload-artifact@v4
with:
name: docs
path: docs/_build/
test:
name: test py${{ matrix.python }} with redis:${{ matrix.redis }} on ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu]
python: ['3.8', '3.9', '3.10', '3.11', '3.12']
redis: ['5']
include:
- python: '3.11'
redis: '6'
os: 'ubuntu'
- python: '3.11'
redis: '7'
os: 'ubuntu'
env:
PYTHON: ${{ matrix.python }}
OS: ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest
services:
redis:
image: redis:${{ matrix.redis }}
ports:
- 6379:6379
options: --entrypoint redis-server
steps:
- uses: actions/checkout@v4
- name: set up python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- run: pip install -r requirements/testing.txt -r requirements/pyproject.txt
- run: make test
- run: coverage xml
- uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
env_vars: PYTHON,OS
check:
if: always()
needs: [lint, docs, test]
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
id: all-green
with:
jobs: ${{ toJSON(needs) }}
release:
name: Release
needs: [check]
if: "success() && startsWith(github.ref, 'refs/tags/')"
runs-on: ubuntu-latest
environment: release
permissions:
id-token: write
steps:
- uses: actions/checkout@v4
- name: get docs
uses: actions/download-artifact@v4
with:
name: docs
path: docs/_build/
- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: install
run: pip install -U build
- name: check version
id: check-version
uses: samuelcolvin/[email protected]
with:
version_file_path: 'arq/version.py'
- name: build
run: python -m build
- name: Upload package to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
- name: publish docs
if: '!fromJSON(steps.check-version.outputs.IS_PRERELEASE)'
run: make publish-docs
env:
NETLIFY: ${{ secrets.netlify_token }}