name: "Deploy Develop Voucher app to k8s testnet" on: push: branches: ['main'] paths: - idea/voucher-indexer/** workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} AWS_REGION: ${{ secrets.AWS_REGION }} KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }} jobs: build-voucher-image: runs-on: ubuntu-latest environment: staging permissions: contents: read packages: write steps: - name: Checkout repository uses: actions/checkout@v2 - name: Log in to the github container registry uses: docker/login-action@master with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Frontend Docker image uses: docker/build-push-action@master with: file: idea/voucher-indexer/Dockerfile push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-voucher:qa deploy-to-k8s-testnet: needs: [build-voucher-image] runs-on: ubuntu-latest steps: - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v1 with: aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ env.AWS_REGION }} - name: Deploy to k8s uses: sergeyfilyanin/kubectl-aws-eks@master with: args: rollout restart deployment voucher-testnet -n prod-idea - name: Check k8s deployments uses: sergeyfilyanin/kubectl-aws-eks@master with: args: get deployment -o name -n prod-idea | xargs -n1 -t kubectl rollout status -n prod-idea --timeout=120s