Skip to main content

test-tag-pipeline

Create a manual PipelineRun to test tag pipeline changes before merging.

معلومات المصدر

المستودع
openshift/hypershift
آخر نشاط في المصدر
١٢ أغسطس ٢٠٢٦ في ١٣:٥١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥٤٦
التفرعات
٥٧٨

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
test-tag-pipeline
description
Create a manual PipelineRun to test tag pipeline changes before merging.
Create a manual PipelineRun to test tag pipeline changes before merging. **Usage**: `/test-tag-pipeline <tag-name> [branch-spec]` **Arguments**: - `tag-name` (required): The existing tag to rebuild (e.g., `v0.1.69`) - `branch-spec` (optional): The branch containing the updated pipeline (defaults to `main`) - Format: `[fork:]branch-name` - If no fork specified, defaults to `openshift` **What this does**: 1. Verifies you are logged into the Konflux instance 2. Gets the commit SHA that the tag points to 3. Fetches the tag pipeline definition from the specified branch/fork 4. Replaces template variables with actual values for the tag 5. Creates a manual PipelineRun that uses the updated pipeline to build the tag's commit 6. Outputs the PipelineRun name for monitoring **Examples**: ```bash # Test main branch pipeline with v0.1.69 tag /test-tag-pipeline v0.1.69 # Test PR branch pipeline with v0.1.69 tag /test-tag-pipeline v0.1.69 build-gomaxprocs-image # Test fork branch pipeline with v0.1.69 tag /test-tag-pipeline v0.1.69 celebdor:OCPBUGS-63194-part2 ``` **Implementation**: IMPORTANT: Execute the commands exactly as shown with only the arguments provided by the user. If no branch argument is specified, the template `{{args.1:-main}}` will correctly default to `main`. Do NOT substitute the current git branch or any other inferred values. Step 1: Verify authentication to Konflux ```bash oc whoami ``` If the authentication check fails, inform the user they need to log in first: ```bash oc login --web https://api.stone-prd-rh01.pg1f.p1.openshiftapps.com:6443 ``` Step 2: Create the PipelineRun ```bash bash hack/tools/scripts/create-manual-tag-pipelinerun.sh {{args.0}} {{args.1:-main}} ``` After the PipelineRun is created, extract the name from the output and construct the web UI URL: - Base URL: https://konflux-ui.apps.stone-prd-rh01.pg1f.p1.openshiftapps.com - Pattern: /ns/crt-redhat-acm-tenant/applications/hypershift-operator/pipelineruns/{pipelinerun-name} Example: https://konflux-ui.apps.stone-prd-rh01.pg1f.p1.openshiftapps.com/ns/crt-redhat-acm-tenant/applications/hypershift-operator/pipelineruns/hypershift-operator-main-manual-v0.1.69-xxxxx Display the full URL to the user so they can monitor progress in the web UI. You can also monitor it from the CLI with: ```bash # Watch the PipelineRun status oc get pipelinerun <name> -w ``` Step 3: After the PipelineRun completes successfully, create a Snapshot to trigger Enterprise Contract validation: ```bash bash hack/tools/scripts/create-snapshot-from-pipelinerun.sh <pipelinerun-name> ``` After the Snapshot is created, extract the snapshot name from the output and get the EC PipelineRuns: ```bash oc get pipelinerun -l appstudio.openshift.io/snapshot=<snapshot-name> -o name ``` For each EC PipelineRun, construct and display the web UI URL: - Base URL: https://konflux-ui.apps.stone-prd-rh01.pg1f.p1.openshiftapps.com - Pattern: /ns/crt-redhat-acm-tenant/applications/hypershift-operator/pipelineruns/{ec-pipelinerun-name} Example: https://konflux-ui.apps.stone-prd-rh01.pg1f.p1.openshiftapps.com/ns/crt-redhat-acm-tenant/applications/hypershift-operator/pipelineruns/hypershift-operator-enterprise-contract-xxxxx Display the full URLs to the user so they can monitor EC validation in the web UI. You can also monitor from the CLI with: ```bash # Watch the snapshot status oc get snapshot <snapshot-name> -w # Check EC test results oc get pipelinerun -l appstudio.openshift.io/snapshot=<snapshot-name> ``` **Notes**: - This is useful for testing pipeline fixes before merging PRs - The PipelineRun uses the updated pipeline definition but builds the original tag's commit - The two-step process allows the PipelineRun to complete (20+ minutes) before creating the Snapshot - Requires `yq` and `oc` CLI tools to be installed - See `hack/tools/scripts/create-manual-tag-pipelinerun.sh` and `hack/tools/scripts/create-snapshot-from-pipelinerun.sh` for implementation details
عرض على GitHub