install uv explicitly with astral-sh/setup-uv before YAML and Ansible jobs
install Terraform explicitly with hashicorp/setup-terraform before Terraform checks
document why the runner image is not treated as an implicit toolchain
Evidence
The deployed runner registered successfully and accepted jobs. The job image contains Python, curl, unzip and Node, but neither uv nor terraform. The first YAML job failed only after checkout, with uv: command not found.
Validation
yamllint .gitea/workflows/lint.yml
git diff --check
no Terraform state or plan files in the diff
After merge, the main-branch run will be the acceptance test for the complete toolchain.
## Summary
- install uv explicitly with astral-sh/setup-uv before YAML and Ansible jobs
- install Terraform explicitly with hashicorp/setup-terraform before Terraform checks
- document why the runner image is not treated as an implicit toolchain
## Evidence
The deployed runner registered successfully and accepted jobs. The job image contains Python, curl, unzip and Node, but neither uv nor terraform. The first YAML job failed only after checkout, with uv: command not found.
## Validation
- yamllint .gitea/workflows/lint.yml
- git diff --check
- no Terraform state or plan files in the diff
After merge, the main-branch run will be the acceptance test for the complete toolchain.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Evidence
The deployed runner registered successfully and accepted jobs. The job image contains Python, curl, unzip and Node, but neither uv nor terraform. The first YAML job failed only after checkout, with uv: command not found.
Validation
After merge, the main-branch run will be the acceptance test for the complete toolchain.