deploy-to-k3s: needs: build-scan-and-push-image runs-on: ubuntu-latest steps: - name: Check out repository uses: actions/checkout@v4 - 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 sudo mv kubectl /usr/local/bin/kubectl kubectl version --client - name: Configure kubeconfig run: | mkdir -p ~/.kube echo "${{ secrets.KUBECONFIG_B64 }}" | base64 -d > ~/.kube/config chmod 600 ~/.kube/config - name: Render manifest with image tag run: | sed "s|image: .*|image: ${IMAGE_NAME}:${{ needs.build-scan-and-push-image.outputs.image_tag }}|g" arcade.yaml > rendered-arcade.yaml - name: Apply Kubernetes manifest run: | kubectl apply -f arcade.yaml - name: Wait for rollout run: | kubectl -n devsecops rollout status deployment/arcade --timeout=180s