Skip to content

feat(ci): Split tests into separate workflow files #79

feat(ci): Split tests into separate workflow files

feat(ci): Split tests into separate workflow files #79

Workflow file for this run

name: Checks
concurrency:
group: checks-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
branches:
- main
push:
branches:
- main
env:
PYTHON_PATH: ./
jobs:
checks:
name: ${{ matrix.task.name }}
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
task:
- name: Lint
run: uv run ruff check cycletls
- name: Type check
run: uv run pyright cycletls
- name: Build
run: uv run python -m build --wheel
- name: Style
run: uv run ruff format --check cycletls
- name: Docs
run: cd docs && uv run make html
steps:
- uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23'
cache-dependency-path: |
go.sum
golang/go.sum
- name: Cache Go build
uses: actions/cache@v4
with:
path: ~/.cache/go-build
key: go-build-${{ runner.os }}-${{ hashFiles('golang/**', 'go.sum') }}
restore-keys: |
go-build-${{ runner.os }}-
- name: Build CycleTLS shared library
run: |
chmod +x build_shared_lib.sh
./build_shared_lib.sh
- name: Setup uv
uses: astral-sh/setup-uv@v7
with:
python-version: '3.12'
enable-cache: true
- name: Install dependencies
run: uv sync --locked --all-extras --dev
- name: ${{ matrix.task.name }}
run: ${{ matrix.task.run }}
- name: Upload package distribution files
if: matrix.task.name == 'Build'
uses: actions/upload-artifact@v4
with:
name: package
path: dist