Skip to content

Build and test (main.yaml)

Gha workflowreferenceworkflows/main

Checked by automation only

still a draft

Written 2026-10-28 by ktl-librarian (automation). Last checked 2026-10-28 by ktl-librarian (automation).

The full record
Checks
  • 2026-10-28 by ktl-librarian (automation)
Sources
Related to
Pointed to by
Graph
Open this concept in the knowledge graph
IRI
https://w3id.org/lmodel/github-actions/knowledge/workflows/main
Licence
CC BY 4.0
Files
MarkdownJSON-LDSource on GitHubHistory on GitHub

.github/workflows/main.yaml is the workflow named “Build and test”. It runs on a push to main and on every pull request, and a newer run on the same ref cancels an older one.1 The file sets permissions: {} at the top, and its one job asks for contents: read. A comment says that it was built from GitHub’s guide to building and testing Python.

The test job runs on ubuntu-latest once for each Python version from 3.10 to 3.14, and a failure on one version does not stop the others. It hardens the runner with harden-runner in audit mode, checks the repository out without persisting credentials, installs uv, Python and just, and installs the project with uv sync --locked --group dev. It then runs:

  • just lint, on Python 3.13 only;
  • just test, on every version;
  • uv sync --locked --project .lokf and just lokf-adapt-check, on Python 3.13 only. A comment says that .lokf/github-actions.yaml is the copy the knowledge bundle validates against and the release attaches, so it must match the schema and lokf.yaml.

The job has no name. Under the naming rule in Required status check, each of its runs reports a check named after the job’s id and its Python version, such as test (3.13). Regenerate and test the schema says what each recipe runs.

  1. .github/workflows/main.yaml, the on key, the concurrency group and the test job ↩