Skip to content

Deploy Preview

Deploy Preview #219

name: Deploy Preview
on:
workflow_run:
workflows:
- Start Preview Deployment
types:
- completed
permissions:
id-token: write
contents: read
deployments: write
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Download web assets from prepare step
uses: actions/download-artifact@v4
with:
name: preview-assets
repository: ${{ github.repository_owner }}/${{ github.event.repository.name }}
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.PREVIEW_ARTIFACT_PAT }}
- name: Extract PR number
run: |
PR_NUMBER=$(cat ./preview-id)
echo "PR_NUMBER=$PR_NUMBER" >> $GITHUB_ENV
- name: Notify about new deployment
uses: bobheadxi/deployments@v1
id: status
with:
step: start
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ github.event.workflow_run.head_commit.id }}
env: preview-${{ env.PR_NUMBER }}
- name: Deploy to Google Cloud
id: deploy
uses: ./.github/actions/deploy
with:
projectId: slowreader-421120
region: europe-west1
folder: ./web/
registry: staging/web
service: staging-web
tag: preview-${{ env.PR_NUMBER }}
- name: Update deployment status
uses: bobheadxi/deployments@v1
if: always()
with:
step: finish
token: ${{ secrets.GITHUB_TOKEN }}
status: ${{ job.status }}
env: ${{ steps.status.outputs.env }}
env_url: ${{ steps.deploy.outputs.url }}/ui/
deployment_id: ${{ steps.status.outputs.deployment_id }}