name: Minikube Integration Tests - resource annotation on: pull_request: branches: - main - 'releases/*' push: branches: - main - 'releases/*' workflow_dispatch: jobs: run-integration-test: name: Resource Annotation Tests runs-on: ubuntu-22.04 env: KUBECONFIG: /home/runner/.kube/config NAMESPACE: test-${{ github.run_id }} steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - uses: ./.github/actions/minikube-setup name: Setup Minikube Environment timeout-minutes: 5 - name: Create namespace to run tests run: kubectl create ns ${{ env.NAMESPACE }} - name: Cleaning any previously created items run: | python test/integration/k8s-deploy-delete.py 'Service' 'all' ${{ env.NAMESPACE }} python test/integration/k8s-deploy-delete.py 'Deployment' 'all' ${{ env.NAMESPACE }} python test/integration/k8s-deploy-delete.py 'Ingress' 'all' ${{ env.NAMESPACE }} - name: Executing deploy action for pod with resource annotation enabled by default uses: ./ with: namespace: ${{ env.NAMESPACE }} images: nginx:1.14.2 manifests: | test/integration/manifests/test.yml action: deploy - name: Checking if deployments is created with additional resource annotation run: | python test/integration/k8s-deploy-test.py namespace=${{ env.NAMESPACE }} kind=Deployment name=nginx-deployment containerName=nginx:1.14.2 labels=app:nginx,workflow:actions.github.com-k8s-deploy,workflowFriendlyName:Minikube_Integration_Tests_-_resource_annotation selectorLabels=app:nginx annotations=actions.github.com/k8s-deploy,deployment.kubernetes.io/revision,kubectl.kubernetes.io/last-applied-configuration - name: Cleaning previously created deployment run: | python test/integration/k8s-deploy-delete.py 'Deployment' 'all' ${{ env.NAMESPACE }} - name: Executing deploy action for pod with resource annotation disabled uses: ./ with: namespace: ${{ env.NAMESPACE }} images: nginx:1.14.2 manifests: | test/integration/manifests/test.yml action: deploy annotate-resources: false - name: Checking if deployment is created without additional resource annotation run: | python test/integration/k8s-deploy-test.py namespace=${{ env.NAMESPACE }} kind=Deployment name=nginx-deployment containerName=nginx:1.14.2 selectorLabels=app:nginx annotations=deployment.kubernetes.io/revision,kubectl.kubernetes.io/last-applied-configuration