chore(deps): update dependency typescript to v5 #118
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: app-engine | |
env: | |
GCLOUD_PROJECT_ID: hello-irkfap-com | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened] | |
jobs: | |
cancel-previous: | |
name: Cancel Previous Jobs | |
# Skip workflow entirely for [skip ci] commits | |
if: | | |
false == contains(github.event.commits[0].message, '[skip ci]') && | |
false == contains(github.event.commits[0].message, '[no ci]') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel Previous Runs | |
uses: styfle/[email protected] | |
deploy-gae: | |
name: App Engine Deployment | |
# Skip workflow entirely for [skip ci] commits | |
if: | | |
false == contains(github.event.commits[0].message, '[skip ci]') && | |
false == contains(github.event.commits[0].message, '[no ci]') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Cache pnpm modules | |
uses: actions/cache@v2 | |
with: | |
path: ~/.pnpm-store | |
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}- | |
- uses: pnpm/[email protected] | |
with: | |
version: 6.16.0 | |
run_install: | | |
- args: [--frozen-lockfile] | |
- name: Import config.yaml | |
run: echo "${{ secrets.CONFIG_YAML }}" | base64 -d > config.yaml | |
- name: Import Service Account key | |
run: echo "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}" | base64 -d > /tmp/auth.json | |
- name: GCloud Auth | |
run: | | |
gcloud --quiet auth \ | |
activate-service-account "${{ secrets.GCP_SA_EMAIL }}" \ | |
--key-file=/tmp/auth.json \ | |
--project="${{ secrets.GCLOUD_PROJECT_ID }}" | |
- name: Generate static route handlers | |
run: yarn static | |
- name: Deploy | |
run: | | |
gcloud app deploy static.yaml --quiet --project="${GCLOUD_PROJECT_ID}" --no-promote --version="${GITHUB_ACTOR//[\[\]]/}-${GITHUB_SHA:0:7}" | |
production: | |
name: Update Production | |
environment: production | |
runs-on: ubuntu-latest | |
# Run only after successful deployment and Lighthouse audit | |
needs: [deploy-gae] | |
# Run only on push to master | |
if: ${{ success() && github.ref == 'refs/heads/main' }} | |
steps: | |
- name: Import Service Account key | |
run: echo "${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}" | base64 -d > /tmp/auth.json | |
- name: GCloud Auth | |
run: | | |
gcloud --quiet auth \ | |
activate-service-account "${{ secrets.GCP_SA_EMAIL }}" \ | |
--key-file=/tmp/auth.json \ | |
--project="${GCLOUD_PROJECT_ID}" | |
- name: Promote deployed version to production | |
run: | | |
gcloud --quiet app versions migrate "${GITHUB_ACTOR//[\[\]]/}-${GITHUB_SHA:0:7}" --service=default |