Preparation jobs¶
get-changes¶
Triggers the get-changes action to determine the changes. In
addition to the changes from the action output, it emits some additional
outputs that are used by subsequent jobs.
Outputs:
Each of the boolean properties denote whether the PR or commit includes
changes for the corresponding stack.
{
changes: string // JSON-encoded array of modified changesets
catalog: boolean
ingestion_server: boolean
api: boolean
frontend: boolean
documentation: boolean
}
get-image-tag¶
Determines the tag to use for the Docker images. If the job is triggered via a
workflow dispatch, the images are tagged with the image_tag input taken by the
dispatch. If the job is triggered via a PR or a commit pushed to main, the
images are tagged with the full 40-char hash
(github.sha)
of the last commit.
Outputs:
{
image_tag: string // the tag to use for the Docker images
}
lint¶
Runs the linting steps defined in the repository’s
pre-commit configuration.
This is executed via just lint.
validate-codeowners¶
This job should be considered a complement to lint and would ideally be part
of it, as a pre-commit hook. However, the docker image we relied on for the
pre-commit hook causes issues with arm64 computers (which includes recent Apply
devices). Therefore, we run the hook as a CI step instead.
It is still possible to run this hook locally, assuming the docker image works
on your computer’s architecture, by invoking the lint-codeowners just recipe:
ov just lint-codeowners
Tip
In CI we run the set of “experimental” checks as well, which are disabled in the just recipe because they fail if there are uncommitted changes. To run precisely the check that CI uses, enable experimental checks:
ov just lint-codeowners all
add-stack-label¶
Note
This job only runs on PRs.
Use the outputs from the get-changes job to add an appropriate
stack label to the PR. If a label cannot be determined from the changes, the
🚦 status: awaiting triage and 🏷 status: label work required labels are
added instead.