--- 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@d42cde7132fcec920de534fffc3be83794335c00 # v2.0.5 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: Checkout Repo uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 - name: Download latest cloud asset uses: bitwarden/gh-actions/download-artifacts@34ecb67b2a357795dc893549df0795e7383ff50f 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@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 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@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1 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@2afb7d27101260f4a764219439564d954d10b5b0 # v2.0.1 with: token: '${{ secrets.GITHUB_TOKEN }}' environment-url: http://vault.qa.bitwarden.pw state: 'failure' deployment-id: ${{ steps.deployment.outputs.deployment_id }}