name: Deploy To Production on: push: branches: - main paths-ignore: - "README.md" - ".vscode/**" concurrency: group: deploy-production cancel-in-progress: true jobs: setup: name: Setup runs-on: ubuntu-20.04 env: IMAGE: "reg.dev.krd/dit-docs/dsm-client:${{ github.ref_name }}" steps: - name: Extract image name run: echo "Using image name $IMAGE" outputs: image: ${{ env.IMAGE }} image-sha: ${{ env.IMAGE }}-${{ github.sha }} test: uses: ditkrg/dit-digital-service-manual/.github/workflows/tests-base.yaml@main build-push: name: Build and Push needs: [setup, test] runs-on: ubuntu-20.04 timeout-minutes: 10 steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to Registry uses: docker/login-action@v1 with: registry: reg.dev.krd username: ${{ secrets.HARBOR_PUBLIC_USER }} password: ${{ secrets.HARBOR_PUBLIC_TOKEN }} - name: Build and push Docker images uses: docker/build-push-action@v2 with: push: true tags: |- ${{ needs.setup.outputs.image }} ${{ needs.setup.outputs.image-sha }} cache-from: type=registry,ref=${{ needs.setup.outputs.image }} cache-to: type=inline deploy: uses: ditkrg/dit-digital-service-manual/.github/workflows/deploy-base.yaml@main needs: [setup, build-push] with: image: ${{ needs.setup.outputs.image-sha }} env_url: https://docs.digital.gov.krd env_name: production secrets: KUBECONFIG: ${{ secrets.KUBECONFIG }}