From 25e490b9e0cb4ec8ce35caac73ce9570fd04d9e8 Mon Sep 17 00:00:00 2001 From: jad0s Date: Thu, 21 May 2026 14:48:38 +0200 Subject: [PATCH] fix(actions): rework validate workflow file to skip installation steps solved by the custom container image --- .forgejo/workflows/validate.yaml | 38 ++++++++++++++------------------ 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/.forgejo/workflows/validate.yaml b/.forgejo/workflows/validate.yaml index ba1bece..41327bc 100644 --- a/.forgejo/workflows/validate.yaml +++ b/.forgejo/workflows/validate.yaml @@ -2,7 +2,6 @@ on: push: branches: - dev - jobs: validate: runs-on: docker @@ -12,16 +11,9 @@ jobs: env: DOCKER_HOST: tcp://172.17.0.1:2375 steps: - - name: Setup - run: apk add bash curl - name: Checkout uses: actions/checkout@v4 - - name: Install kubeconform - run: | - wget -O- https://github.com/yannh/kubeconform/releases/latest/download/kubeconform-linux-amd64.tar.gz | tar xz - mv kubeconform /usr/local/bin - - name: Validate manifests run: | kubeconform \ @@ -31,29 +23,22 @@ jobs: -schema-location default \ -schema-location 'https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json' \ ./manifests/ - - name: Install k3d - run: | - curl -fsSL -o /tmp/k3d https://github.com/k3d-io/k3d/releases/download/v5.7.4/k3d-linux-amd64 - chmod +x /tmp/k3d - mv /tmp/k3d /usr/local/bin - - name: Install kubectl - run: | - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x kubectl - mv kubectl /usr/local/bin + - name: Create test cluster run: | k3d cluster create test --wait - kubectl cluster-info + - name: Install ArgoCD run: | kubectl create namespace argocd kubectl apply -n argocd --server-side -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml kubectl wait --for=condition=available --timeout=180s deployment/argocd-server -n argocd + - name: Install SealedSecrets run: | kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.27.0/controller.yaml kubectl wait --for=condition=available --timeout=60s deployment/sealed-secrets-controller -n kube-system + - name: Import SealedSecrets key env: SEALED_SECRETS_KEY: ${{ secrets.SEALED_SECRETS_KEY }} @@ -61,14 +46,23 @@ jobs: echo "$SEALED_SECRETS_KEY" | kubectl apply -f - kubectl rollout restart deployment/sealed-secrets-controller -n kube-system kubectl rollout status deployment/sealed-secrets-controller -n kube-system --timeout=60s + - name: Apply ArgoCD apps run: | kubectl apply -f apps/ - - name: Wait for everything + - name: Wait for ArgoCD sync run: | - sleep 30 - kubectl wait --for=condition=available --timeout=120s deployment --all --all-namespaces + kubectl wait --for=condition=available --timeout=300s deployment --all -n argocd + until kubectl get applications -n argocd -o jsonpath='{.items[*].status.sync.status}' | grep -v OutOfSync; do + echo "Waiting for ArgoCD to sync..." + sleep 10 + done + + - name: Wait for all deployments + run: | + kubectl wait --for=condition=available --timeout=300s deployment --all --all-namespaces + - name: Cleanup if: always() run: |