Build and test (main.yaml)
workflows/mainChecked 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)
- 2026-10-28 by
- Sources
- Related to
- Pointed to by
- Regenerate and test the schema (references)
- Security policy (references)
- 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
Build and test (main.yaml)
Section titled “Build and test (main.yaml)”.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
Section titled “The test job”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 .lokfandjust lokf-adapt-check, on Python 3.13 only. A comment says that.lokf/github-actions.yamlis the copy the knowledge bundle validates against and the release attaches, so it must match the schema andlokf.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.
Footnotes
Section titled “Footnotes”-
.github/workflows/main.yaml, the on key, the concurrency group and the test job ↩