원클릭으로
running-task-tests
Use when running, writing, or troubleshooting functional tests for Tekton tasks in this catalog
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when running, writing, or troubleshooting functional tests for Tekton tasks in this catalog
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
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 setting up or tearing down a local kind cluster for running Tekton task tests
SOC 직업 분류 기준
| name | running-task-tests |
| description | Use when running, writing, or troubleshooting functional tests for Tekton tasks in this catalog |
Tests are Tekton Pipelines that exercise a task on a kind cluster with Konflux CI. The test runner creates a namespace, applies the task, and runs each test pipeline via tkn p start.
yamllint . directly)| Action | Command |
|---|---|
| Run tests for one task | .github/scripts/test_tekton_tasks.sh tasks/<cat>/<name>/<ver> |
| Run a single test file | .github/scripts/test_tekton_tasks.sh tasks/<cat>/<name>/<ver>/tests/test-<name>-pass.yaml |
| Run multiple tasks | .github/scripts/test_tekton_tasks.sh <dir1> <dir2> ... |
Prerequisites: kind cluster with Konflux CI, plus tkn, kubectl, yq, jq on PATH.
tasks/<category>/<name>/<version>/tests/
test-<name>-pass.yaml # Positive test (required)
test-<name>-fail.yaml # Negative test (recommended)
pre-apply-task-hook.sh # Optional cluster setup
Pipeline succeeds with valid inputs:
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: test-<task-name>-pass
spec:
tasks:
- name: run-<task-name>
taskRef:
name: <task-name>
params:
- name: param1
value: "valid-value"
Annotate which task should fail:
metadata:
name: test-<task-name>-fail
annotations:
test/assert-task-failure: "run-<task-name>"
The runner verifies the pipeline failed at the annotated task, not earlier.
pre-apply-task-hook.sh receives $1 (task YAML path) and $2 (test namespace). Use it for ConfigMaps, Secrets, PVCs, Deployments, or RBAC the task needs.
| Mistake | Fix |
|---|---|
| Tests share PVC data path | Each test must use a unique path (e.g. test-repo-pass, test-repo-fail) |
No tests/ directory | CI silently skips the task — no gate, no coverage |
Wrong test/assert-task-failure value | Must match the pipeline task name, not the taskRef |
Missing appstudio-pipeline SA | Runner creates it, but hooks adding RoleBindings must reference it correctly |
Reference implementation: tasks/linters/yamllint/0.1/ — has positive test, negative test, pre-apply hook with git-daemon service, and PVC-based data sharing.