93 lines
3.2 KiB
YAML
93 lines
3.2 KiB
YAML
---
|
|
name: QA - Web Release
|
|
|
|
on:
|
|
workflow_dispatch: {}
|
|
|
|
jobs:
|
|
cfpages-deploy:
|
|
name: Deploy Web Vault to QA CloudFlare Pages branch
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- name: Create GitHub deployment
|
|
uses: chrnorm/deployment-action@1b599fe41a0ef1f95191e7f2eec4743f2d7dfc48
|
|
id: deployment
|
|
with:
|
|
token: '${{ secrets.GITHUB_TOKEN }}'
|
|
initial-status: 'in_progress'
|
|
environment-url: http://vault.qa.bitwarden.pw
|
|
environment: 'Web Vault - QA'
|
|
description: 'Deployment from branch ${{ github.ref_name }}'
|
|
|
|
- name: Update deployment status to In Progress
|
|
uses: chrnorm/deployment-status@07b3930847f65e71c9c6802ff5a402f6dfb46b86
|
|
with:
|
|
token: '${{ secrets.GITHUB_TOKEN }}'
|
|
environment-url: http://vault.qa.bitwarden.pw
|
|
state: 'in_progress'
|
|
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
|
|
|
|
- name: Download latest cloud asset
|
|
uses: bitwarden/gh-actions/download-artifacts@850faad0cf6c02a8c0dc46eddde2363fbd6c373a
|
|
with:
|
|
workflow: build-web.yml
|
|
path: apps/web
|
|
workflow_conclusion: success
|
|
branch: ${{ github.ref_name }}
|
|
artifacts: web-*-cloud-QA.zip
|
|
|
|
- name: Unzip cloud asset
|
|
working-directory: apps/web
|
|
run: unzip web-*-cloud-QA.zip
|
|
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # v3.0.2
|
|
with:
|
|
ref: cf-pages-qa
|
|
path: deployment
|
|
|
|
- name: Setup git config
|
|
run: |
|
|
git config --global user.name "GitHub Action Bot"
|
|
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git config --global url."https://github.com/".insteadOf ssh://git@github.com/
|
|
git config --global url."https://".insteadOf ssh://
|
|
|
|
- name: Deploy CloudFlare Pages
|
|
run: |
|
|
rm -rf ./*
|
|
cp -R ../apps/web/build/* .
|
|
working-directory: deployment
|
|
|
|
- name: Push new ver to cf-pages-qa
|
|
run: |
|
|
if [ -n "$(git status --porcelain)" ]; then
|
|
git add .
|
|
git commit -m "Deploy ${{ github.ref_name }} to QA Cloudflare pages"
|
|
git push -u origin cf-pages-qa
|
|
else
|
|
echo "No changes to commit!";
|
|
fi
|
|
working-directory: deployment
|
|
|
|
- name: Update deployment status to Success
|
|
if: ${{ success() }}
|
|
uses: chrnorm/deployment-status@07b3930847f65e71c9c6802ff5a402f6dfb46b86
|
|
with:
|
|
token: '${{ secrets.GITHUB_TOKEN }}'
|
|
environment-url: http://vault.qa.bitwarden.pw
|
|
state: 'success'
|
|
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|
|
|
|
- name: Update deployment status to Failure
|
|
if: ${{ failure() }}
|
|
uses: chrnorm/deployment-status@07b3930847f65e71c9c6802ff5a402f6dfb46b86
|
|
with:
|
|
token: '${{ secrets.GITHUB_TOKEN }}'
|
|
environment-url: http://vault.qa.bitwarden.pw
|
|
state: 'failure'
|
|
deployment-id: ${{ steps.deployment.outputs.deployment_id }}
|