All checks were successful
CI / lint-and-test (push) Successful in 11s
Reviewed-on: #1 Co-authored-by: pedro-bento <mail@pbento.pt> Co-committed-by: pedro-bento <mail@pbento.pt>
45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
name: CI
|
|
|
|
# Forgejo Actions workflow. Forgejo resolves workflows from
|
|
# .forgejo/workflows/ first (then .gitea/workflows/, then .github/workflows/).
|
|
#
|
|
# `runs-on: docker` matches the label exposed by the standard self-hosted
|
|
# Forgejo runner. Change it if your runner was registered with another label.
|
|
#
|
|
# Actions are pinned to node20-compatible releases. Older forgejo-runner
|
|
# versions (e.g. v6.4.0) reject any action whose action.yml declares
|
|
# `using: node24` — checkout v4 is the last line that runs on node20.
|
|
#
|
|
# The pull-request-only version-bump gate lives in its own workflow
|
|
# (version-bump.yml) because Forgejo does not reliably skip a job on a
|
|
# job-level `if:` and reports the skipped job as a failure instead.
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
lint-and-test:
|
|
runs-on: docker
|
|
steps:
|
|
- name: Checkout
|
|
# v4 runs on node20 (v5+ require node24).
|
|
uses: https://data.forgejo.org/actions/checkout@v4
|
|
|
|
- name: Install uv
|
|
# Installed from the official script rather than a Node action so the
|
|
# job works on runners that only support node20.
|
|
run: |
|
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
|
|
export PATH="$HOME/.local/bin:$PATH"
|
|
uv python install 3.13
|
|
uv --version
|
|
|
|
- name: Lint (ruff)
|
|
run: uvx --python 3.13 ruff check .
|
|
|
|
- name: Test (pytest)
|
|
# The suite only needs pytest: cadence.py imports nothing third-party
|
|
# at module level, so no torch/whisper/ffmpeg is required here.
|
|
run: uv run --python 3.13 --with pytest pytest -q
|