name: '[Develop] Deploy Functions' env: COMPANY_NAME: ${{ vars.COMPANY_NAME }} TWITTER_CREATOR: ${{ vars.TWITTER_CREATOR }} TWITTER_SITE: ${{ vars.TWITTER_SITE }} SITE_NAME: ${{ vars.SITE_NAME }} SHOPIFY_REVALIDATION_SECRET: ${{ secrets.SHOPIFY_REVALIDATION_SECRET }} SHOPIFY_STOREFRONT_ACCESS_TOKEN: ${{ vars.SHOPIFY_STOREFRONT_ACCESS_TOKEN }} SHOPIFY_STORE_DOMAIN: ${{ vars.SHOPIFY_STORE_DOMAIN }} on: push: branches: - develop jobs: deploy-to-gcp: runs-on: ubuntu-latest environment: develop permissions: contents: 'read' id-token: 'write' steps: - name: Checkout repository uses: 'actions/checkout@v4' - name: Set Environment Variables run: | echo COMPANY_NAME="${{ env.COMPANY_NAME }}" > .env echo TWITTER_CREATOR="${{ env.TWITTER_CREATOR }}" >> .env echo TWITTER_SITE="${{ env.TWITTER_SITE }}" >> .env echo SITE_NAME="${{ env.SITE_NAME }}" >> .env echo SHOPIFY_REVALIDATION_SECRET="${{ env.SHOPIFY_REVALIDATION_SECRET }}" >> .env echo SHOPIFY_STOREFRONT_ACCESS_TOKEN="${{ env.SHOPIFY_STOREFRONT_ACCESS_TOKEN }}" >> .env echo SHOPIFY_STORE_DOMAIN="${{ env.SHOPIFY_STORE_DOMAIN }}" >> .env - name: Authenticate with Google Cloud id: auth uses: google-github-actions/auth@v2 with: project_id: ${{ vars.PROJECT_ID }} credentials_json: ${{secrets.CREDENTIALS_JSON}} - name: Set up Cloud SDK uses: 'google-github-actions/setup-gcloud@v2' - name: Configure Docker run: | gcloud auth configure-docker - name: Build and Push Docker Image run: | docker build -t gcr.io/${{ vars.PROJECT_ID }}/${{ vars.DOCKER_IMAGE_NAME }}:latest . docker push gcr.io/${{ vars.PROJECT_ID}}/${{ vars.DOCKER_IMAGE_NAME }}:latest - name: Deploy to Cloud Run run: | gcloud run deploy ${{vars.APP_NAME}} \ --image gcr.io/${{ vars.PROJECT_ID }}/${{ vars.DOCKER_IMAGE_NAME }}:latest \ --platform managed \ --region us-central1 \ --allow-unauthenticated