mirror of
https://github.com/pybricks/pybricks-api.git
synced 2026-07-28 04:07:46 +00:00
Releasing API updates is quite a long and error prone process, so the point that it was limiting our ability to push frequent updates in practice. There were 5 tag, commit, wait, and proceed steps and you'd have to start over or force push if a mistake was made. This keeps all the npm packages as they were, but versions everything from a single source of truth, which is this project's main version. Everything builds on a tag on the main repo, much like we did for a regular IDE docs RTD release. It also skips the PyPI for jedi as an intermediate step, which isn't really needed and required us to have this strict order of publication steps.
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
|
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
|
|
|
|
name: Build Python package and docs
|
|
|
|
on:
|
|
push:
|
|
tags-ignore:
|
|
- '**'
|
|
pull_request:
|
|
paths:
|
|
- doc/**
|
|
- src/**
|
|
- poetry.lock
|
|
- poetry.toml
|
|
- pyproject.toml
|
|
- setup.cfg
|
|
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
with:
|
|
submodules: recursive
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install poetry
|
|
poetry run python -m pip install --upgrade pip
|
|
poetry run python -m pip install --upgrade setuptools
|
|
poetry install
|
|
- name: Lint Python code
|
|
run: poetry run flake8
|
|
- name: Build package
|
|
run: poetry build
|
|
- name: Lint docs
|
|
run: poetry run doc8
|
|
- name: Build html docs for Read the Docs
|
|
run: poetry run make -C doc html
|
|
- name: Install IDE docs dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install dvisvgm preview-latex-style texlive texlive-fonts-extra texlive-latex-extra
|
|
- name: Build html docs for Pybricks Code IDE
|
|
run: poetry run make -C doc html TAG=ide
|