com um clique
ci-cd-quirks
// Use when confused by CI behavior, investigating why tests did or did not run, or troubleshooting GitHub Actions workflows
// Use when confused by CI behavior, investigating why tests did or did not run, or troubleshooting GitHub Actions workflows
Use when a Tekton task test fails in CI or locally and you need to find the root cause
Use when preparing, reviewing, or finalizing a pull request to this Tekton catalog repository
Use when running, writing, or troubleshooting functional tests for Tekton tasks in this catalog
Use when setting up or tearing down a local kind cluster for running Tekton task tests
| name | ci-cd-quirks |
| description | Use when confused by CI behavior, investigating why tests did or did not run, or troubleshooting GitHub Actions workflows |
This repo's CI has several non-obvious behaviors that can cause confusion when tasks aren't tested or PRs are blocked unexpectedly.
tests/ DirectoryThe run-task-tests workflow:
tasks/**/*.{yaml,sh} at depth 3tests/ subdirectorytests/Consequence: You can merge a task with no tests and CI won't complain. The test gate only activates when tests/ exists.
Files marked with <TEMPLATED FILE!> at the top (e.g., run-task-tests.yaml, test_tekton_tasks.sh) are managed by konflux-ci/task-repo-shared-ci. Edits here will be overwritten on the next sync. Fix upstream.
The tj-actions/changed-files step uses dir_names_max_depth: "3". This means:
tasks/linters/yamllint/0.1/yaml-lint.yaml -> detected as tasks/linters/yamllinttests/ files also trigger detection of the parent taskIf you add files outside the tasks/ tree (e.g., stepactions/, pipelines/), the test workflow does not detect them — it only watches tasks/**.
Both pull_request and merge_group triggers are active. Tests run on PR and again on merge queue entry. This is expected but means a slow test suite blocks the merge queue.
validate-agents-md.yaml fails the PR if AGENTS.md exceeds 60 lines. This is a hard gate on PRs that touch AGENTS.md.
| Variable | Used By | Purpose |
|---|---|---|
KUBECTL_CMD | test_tekton_tasks.sh | Override kubectl binary path (default: kubectl) |
TEST_ITEMS | test_tekton_tasks.sh | Space-separated task dirs (alternative to CLI args) |
GITHUB_WORKSPACE | CI workflows | Root checkout path in Actions runners |
| Workflow | Watches | Blocks Merge |
|---|---|---|
yaml-lint.yaml | All YAML | Yes |
checkton.yaml | Embedded bash in YAML | Yes |
validate-task-and-pipeline-yamls.yaml | All tasks/stepactions/pipelines | Yes |
run-task-tests.yaml | tasks/**/*.{yaml,sh} with tests/ dir | Yes |
validate-agents-md.yaml | AGENTS.md | Yes |