Skip to content

Update deprecated build code #67

Update deprecated build code

Update deprecated build code #67

name: Deploy to GCP App Engine
on:
push:
pull_request:
concurrency:
group: "ae"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [latest]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: yarn --frozen-lockfile
- name: Build
run: npm test
- name: Generate deployment package
run: zip -r deploy.zip . -x '*.git'
- name: Upload deployment package artifact
uses: actions/upload-artifact@v4
with:
name: app-engine
path: deploy.zip
deploy:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: build
environment:
name: gcp-app-engine
url: https://descent.live
permissions:
contents: 'read'
id-token: 'write'
steps:
- name: Authenticate to GCP
uses: google-github-actions/auth@v2
with:
workload_identity_provider: ${{ vars.GCP_WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ vars.GCP_SERVICE_ACCOUNT }}
project_id: ${{ vars.GCP_PROJECT_ID }}
- name: Download deployment package artifact
uses: actions/download-artifact@v4
with:
name: app-engine
- name: Unzip deployment package
run: unzip deploy.zip
- name: Cleanup build files
run: rm -rf deploy.zip .git
- name: Deploy to GCP App Engine
uses: google-github-actions/deploy-appengine@v2
with:
version: main
env_vars: |-
HUE_CLIENT=${{ vars.HUE_CLIENT }}
HUE_ID=${{ vars.HUE_ID }}
HUE_SECRET=${{ secrets.HUE_SECRET }}
LASTFM_POLL_INTERVAL=${{ vars.LASTFM_POLL_INTERVAL }}
OPENWEATHERMAP_KEY=${{ secrets.OPENWEATHERMAP_KEY }}
SPOTIFY_CLIENT=${{ vars.SPOTIFY_CLIENT }}
SPOTIFY_SECRET=${{ secrets.SPOTIFY_SECRET }}