Skip to content

Mig just uv ruff part4 (#1672) #640

Mig just uv ruff part4 (#1672)

Mig just uv ruff part4 (#1672) #640

Workflow file for this run

name: Main CI Pipeline

Check failure on line 1 in .github/workflows/main.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/main.yml

Invalid workflow file

(Line: 271, Col: 29): Job 'build-package' depends on unknown job 'tests'.
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
env:
UV_CACHE_DIR: ${{ github.workspace }}/.uv-cache
jobs:
quality-checks:
name: Code Quality Checks
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Just
run: |
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
echo "$HOME/bin" >> $GITHUB_PATH
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Verify toolchain installation
run: |
just --version
uv --version
- name: Setup uv cache
uses: actions/cache@v4
with:
path: ${{ env.UV_CACHE_DIR }}
key:
uv-cache-ubuntu-quality-${{
hashFiles('pyproject.toml') }}
restore-keys: |
uv-cache-ubuntu-quality-
- name: Create Python environment and install tools
run: |
just create cpy314
just install-tools cpy314
- name: Code formatting check
run: just check-format cpy314
- name: Flake8 linting
run: just flake8 cpy314
# FIXME: Found 239 errors in 45 files (checked 163 source files)
# - name: Type checking with mypy
# run: just check-typing cpy314
documentation:
name: Documentation Build
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Just
run: |
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
echo "$HOME/bin" >> $GITHUB_PATH
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Verify toolchain installation
run: |
just --version
uv --version
- name: Setup uv cache
uses: actions/cache@v4
with:
path: ${{ env.UV_CACHE_DIR }}
key:
uv-cache-ubuntu-docs-${{ hashFiles('pyproject.toml')
}}
restore-keys: |
uv-cache-ubuntu-docs-
- name: Create Python environment and install tools
run: |
just create cpy314
just install-tools cpy314
- name: Build documentation
run: just docs cpy314
- name: Upload documentation artifacts
uses: actions/upload-artifact@v4
with:
name: documentation
path: docs/_build/html/
retention-days: 14
# FIXME: Sphinx error:
# Builder name spelling not registered or available through entry point
# Error: Process completed with exit code 2.
#
# spellcheck:
# name: Documentation Spellcheck
# runs-on: ubuntu-24.04
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Install Just
# run: |
# curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
# echo "$HOME/bin" >> $GITHUB_PATH
# - name: Install uv
# run: |
# curl -LsSf https://astral.sh/uv/install.sh | sh
# source $HOME/.cargo/env
# echo "$HOME/.cargo/bin" >> $GITHUB_PATH
# - name: Install system dependencies for spellcheck
# run: |
# sudo apt-get update
# sudo apt-get install -y enchant-2 libenchant-2-dev
# - name: Verify toolchain installation
# run: |
# just --version
# uv --version
# - name: Setup uv cache
# uses: actions/cache@v4
# with:
# path: ${{ env.UV_CACHE_DIR }}
# key:
# uv-cache-ubuntu-spell-${{ hashFiles('pyproject.toml')
# }}
# restore-keys: |
# uv-cache-ubuntu-spell-
# - name: Create Python environment and install tools
# run: |
# just create cpy314
# just install-tools cpy314
# - name: Run spellcheck
# run: |
# # Navigate to docs directory and run sphinx spellcheck
# cd docs && ../.venvs/cpy314/bin/sphinx-build -b spelling . _spelling
# FIXME: 1 warning, 52 errors in 0.82s
#
# tests:
# name: Test Suite
# runs-on: ubuntu-24.04
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Install Just
# run: |
# curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
# echo "$HOME/bin" >> $GITHUB_PATH
# - name: Install uv
# run: |
# curl -LsSf https://astral.sh/uv/install.sh | sh
# source $HOME/.cargo/env
# echo "$HOME/.cargo/bin" >> $GITHUB_PATH
# - name: Verify toolchain installation
# run: |
# just --version
# uv --version
# - name: Setup uv cache
# uses: actions/cache@v4
# with:
# path: ${{ env.UV_CACHE_DIR }}
# key:
# uv-cache-ubuntu-test-${{ hashFiles('pyproject.toml')
# }}
# restore-keys: |
# uv-cache-ubuntu-test-
# - name: Create Python environment and install package
# run: |
# just create cpy314
# just install-tools cpy314
# just install-dev cpy314
# - name: Run test suite
# run: just test cpy314
build-schema:
name: FlatBuffers Schema Build
runs-on: ubuntu-24.04
strategy:
matrix:
python-env: [cpy314, cpy311, pypy311]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Just
run: |
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
echo "$HOME/bin" >> $GITHUB_PATH
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Install FlatBuffers compiler
run: |
sudo apt-get update
sudo apt-get install -y flatbuffers-compiler
- name: Verify toolchain installation
run: |
just --version
uv --version
flatc --version
- name: Setup uv cache
uses: actions/cache@v4
with:
path: ${{ env.UV_CACHE_DIR }}
key:
uv-cache-ubuntu-fbs-${{ matrix.python-env }}-${{
hashFiles('pyproject.toml') }}
restore-keys: |
uv-cache-ubuntu-fbs-${{ matrix.python-env }}-
uv-cache-ubuntu-fbs-
- name: Create Python environment
run: just create ${{ matrix.python-env }}
- name: Build FlatBuffers schema
run: just build-fbs
- name: Upload FlatBuffers artifacts
uses: actions/upload-artifact@v4
with:
name: flatbuffers-schema-${{ matrix.python-env }}
path: autobahn/wamp/gen/
retention-days: 7
build-package:
name: Package Build
runs-on: ubuntu-24.04
needs: [quality-checks, tests, build-schema]
strategy:
matrix:
python-env: [cpy314, cpy311, pypy311]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Just
run: |
curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ~/bin
echo "$HOME/bin" >> $GITHUB_PATH
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.cargo/env
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
- name: Verify toolchain installation
run: |
just --version
uv --version
- name: Setup uv cache
uses: actions/cache@v4
with:
path: ${{ env.UV_CACHE_DIR }}
key:
uv-cache-ubuntu-build-${{ matrix.python-env }}-${{
hashFiles('pyproject.toml') }}
restore-keys: |
uv-cache-ubuntu-build-${{ matrix.python-env }}-
uv-cache-ubuntu-build-
- name: Create Python environment and install tools
run: |
just create ${{ matrix.python-env }}
just install-tools ${{ matrix.python-env }}
- name: Build package
run: just build ${{ matrix.python-env }}
- name: List built artifacts
run: |
echo "Built artifacts for ${{ matrix.python-env }}:"
ls -la dist/
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: package-${{ matrix.python-env }}
path: dist/
retention-days: 14