feat(RELEASE-1252): make run-file-updates task idempotent #4827
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Tekton Task Tests | |
on: | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
jobs: | |
run-tekton-task-tests: | |
name: Run Tekton Task tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Get changed dirs | |
id: changed-dirs | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
tasks/** | |
dir_names: "true" | |
dir_names_max_depth: "2" | |
- name: Get internal changed dirs | |
id: changed-internal-dirs | |
uses: tj-actions/changed-files@v41 | |
with: | |
files: | | |
internal/tasks/** | |
dir_names: "true" | |
dir_names_max_depth: "3" | |
- name: Show changed dirs | |
run: | | |
echo ${{ steps.changed-dirs.outputs.all_changed_files }} \ | |
${{ steps.changed-internal-dirs.outputs.all_changed_files }} | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1.10.0 | |
if: | | |
steps.changed-dirs.outputs.any_changed == 'true' || | |
steps.changed-internal-dirs.outputs.any_changed == 'true' | |
- name: Check cluster info | |
if: | | |
steps.changed-dirs.outputs.any_changed == 'true' || | |
steps.changed-internal-dirs.outputs.any_changed == 'true' | |
run: | | |
kubectl cluster-info | |
- name: Install Tekton | |
timeout-minutes: 10 | |
if: | | |
steps.changed-dirs.outputs.any_changed == 'true' || | |
steps.changed-internal-dirs.outputs.any_changed == 'true' | |
run: | | |
kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/latest/release.yaml | |
echo -n Waiting for Tekton pods to appear.. | |
while [ $(kubectl get pods --namespace tekton-pipelines -o name | wc -l) -lt 2 ] | |
do | |
sleep 1 | |
echo -n . | |
done | |
echo " done" | |
echo Waiting for Tekton pods to be ready | |
for POD in $(kubectl get pods --namespace tekton-pipelines -o name) | |
do | |
kubectl wait --timeout=120s --for=condition=Ready $POD --namespace tekton-pipelines | |
done | |
kubectl get pods --namespace tekton-pipelines | |
- name: Install tkn | |
if: | | |
steps.changed-dirs.outputs.any_changed == 'true' || | |
steps.changed-internal-dirs.outputs.any_changed == 'true' | |
uses: ./.github/actions/install-tkn | |
- name: Test Tekton tasks | |
if: | | |
steps.changed-dirs.outputs.any_changed == 'true' || | |
steps.changed-internal-dirs.outputs.any_changed == 'true' | |
run: .github/scripts/test_tekton_tasks.sh | |
env: | |
TEST_ITEMS: >- | |
${{ steps.changed-dirs.outputs.all_changed_files }} | |
${{ steps.changed-internal-dirs.outputs.all_changed_files }} |