From a7df1edf10e8c9405d83ff82feef09752b376139 Mon Sep 17 00:00:00 2001 From: Juriba Alsiari <59488534+JuribaDev@users.noreply.github.com> Date: Wed, 28 Aug 2024 13:47:51 +0300 Subject: [PATCH] Update cd.yml --- .github/workflows/cd.yml | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 07531ba..1b9f126 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -7,9 +7,9 @@ on: - dev jobs: - build: + build-and-push: runs-on: ubuntu-latest - + permissions: contents: 'read' id-token: 'write' @@ -21,12 +21,14 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Node.js - - uses: actions/setup-node@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' + - name: Install dependencies + run: npm ci --legacy-peer-deps - name: Authenticate to Google Cloud uses: google-github-actions/auth@v2 @@ -39,9 +41,9 @@ jobs: with: project_id: ${{ secrets.GCP_PROJECT_ID }} - - name: Configure Docker to use gcloud as a credential helper + - name: Configure Docker for Artifact Registry run: | - gcloud auth configure-docker + gcloud auth configure-docker ${LOCATION}-docker.pkg.dev - name: Determine Affected Projects id: affected @@ -49,17 +51,14 @@ jobs: npx nx show projects --affected --base=main > affected_apps.txt cat affected_apps.txt if grep -q "client" affected_apps.txt; then - echo "client" >> $GITHUB_ENV + echo "client=true" >> $GITHUB_ENV fi if grep -q "server" affected_apps.txt; then - echo "server" >> $GITHUB_ENV + echo "server=true" >> $GITHUB_ENV fi - - name: Configure Docker for Artifact Registry - run: gcloud auth configure-docker ${LOCATION}-docker.pkg.dev - - name: Build and push Docker image for client - if: contains(env.client, 'client') + if: env.client == 'true' run: | docker build \ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ @@ -70,9 +69,10 @@ jobs: -t ${LOCATION}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.REPO_NAME }}/client:${{ github.ref_name }} \ . docker push ${LOCATION}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.REPO_NAME }}/client:${{ github.sha }} + docker push ${LOCATION}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.REPO_NAME }}/client:${{ github.ref_name }} - name: Build and push Docker image for server - if: contains(env.server, 'server') + if: env.server == 'true' run: | docker build \ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ @@ -83,3 +83,4 @@ jobs: -t ${LOCATION}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.REPO_NAME }}/server:${{ github.ref_name }} \ . docker push ${LOCATION}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.REPO_NAME }}/server:${{ github.sha }} + docker push ${LOCATION}-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.REPO_NAME }}/server:${{ github.ref_name }}