Tremor features #136
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 and test | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_call: | |
outputs: | |
version: | |
description: "The version retrieved from the pyproject.toml file." | |
value: ${{ jobs.build-and-test.outputs.version }} | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.10'] | |
outputs: | |
version: ${{ steps.get_version.outputs.version }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Get the version from pyproject.toml | |
# This will be used to tag the release in the publishing workflow | |
- name: Install toml package | |
run: pip install toml | |
- name: Get version from pyproject.toml | |
id: get_version | |
run: | | |
VERSION=$(python -c "import toml; print(toml.load('pyproject.toml')['tool']['poetry']['version'])") | |
echo Version: $VERSION | |
echo "version=$VERSION" >> $GITHUB_OUTPUT | |
# Installation | |
- name: Install dependencies | |
run: | | |
python -m pip install poetry | |
poetry install | |
# Testing and checking | |
- name: Test with pytest | |
run: | | |
poetry run pytest | |
- name: Type check | |
run: | | |
poetry run pytype . | |
# Build the package | |
- name: Build the package | |
run: | | |
poetry build | |
- name: Archive build artifacts | |
uses: actions/upload-artifact@v4 | |
if: github.ref == 'refs/heads/release' | |
with: | |
name: build-artifacts | |
path: dist/ | |
# Build the docs | |
- name: Build the docs | |
run: | | |
poetry run make html --directory docs | |
- name: Archive documentation | |
uses: actions/upload-artifact@v4 | |
if: github.ref == 'refs/heads/release' | |
with: | |
name: docs-html | |
path: docs/build/html/ |