[DRAFT] Implement alternate SM install journey #2725
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: preview-env-deploy | |
on: | |
pull_request: | |
types: [labeled, synchronize] | |
concurrency: | |
cancel-in-progress: true | |
group: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
deploy-preview: | |
if: github.event.pull_request.state != 'closed' && (contains( github.event.label.name, 'deploy') || contains( github.event.pull_request.labels.*.name, 'deploy')) | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 30 | |
name: deploy-preview-env | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Import secrets from Vault | |
id: secrets | |
uses: hashicorp/vault-action@d1720f055e0635fd932a1d2a48f87a666a57906c | |
with: | |
url: ${{ secrets.VAULT_ADDR }} | |
method: approle | |
roleId: ${{ secrets.VAULT_ROLE_ID }} | |
secretId: ${{ secrets.VAULT_SECRET_ID }} | |
secrets: | | |
secret/data/products/camunda-docs/ci/preview-environment PREVIEW_ENV_BUCKET_NAME; | |
secret/data/products/camunda-docs/ci/preview-environment PREVIEW_ENV_GCLOUD_SA_KEY; | |
- name: Upsert comment with build status | |
uses: mshick/add-pr-comment@v2 | |
with: | |
refresh-message-position: true | |
message: | | |
:construction: The preview environment for the commit ${{ github.sha }} is being built. This usually takes 15-20 minutes. | |
- name: Install Dependencies | |
run: npm ci | |
- name: Cache Docusaurus | |
uses: ./.github/actions/docusaurus-cache | |
- name: Build Docs | |
env: | |
NODE_OPTIONS: --max_old_space_size=8192 | |
DOCS_SITE_URL: https://${{ steps.secrets.outputs.PREVIEW_ENV_BUCKET_NAME }} | |
DOCS_SITE_BASE_URL: /pr-${{ github.event.number }}/ | |
run: npm run build | |
- name: Authenticate with Google Cloud | |
uses: google-github-actions/auth@v2 | |
with: | |
credentials_json: ${{ steps.secrets.outputs.PREVIEW_ENV_GCLOUD_SA_KEY }} | |
- name: Set up Cloud SDK | |
uses: google-github-actions/setup-gcloud@v2 | |
- name: Start Deployment | |
uses: bobheadxi/deployments@v1 | |
id: deployment | |
with: | |
step: start | |
token: ${{ github.token }} | |
env: ${{ github.event.repository.name }} | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Update comment with upload status | |
uses: mshick/add-pr-comment@v2 | |
with: | |
refresh-message-position: true | |
message: | | |
:arrow_up: The preview environment build results for commit ${{ github.sha }} are being uploaded. This usually takes 3-4 minutes. | |
- name: Upload files to Google bucket | |
env: | |
BUCKET_NAME: ${{ steps.secrets.outputs.PREVIEW_ENV_BUCKET_NAME }} | |
run: | | |
gsutil -m rsync -d -r build gs://$BUCKET_NAME/pr-${{ github.event.number }} | |
- uses: bobheadxi/deployments@v1 | |
with: | |
step: finish | |
token: ${{ github.token }} | |
status: ${{ job.status }} | |
env: ${{ steps.deployment.outputs.env }} | |
deployment_id: ${{ steps.deployment.outputs.deployment_id }} | |
env_url: https://${{ steps.secrets.outputs.PREVIEW_ENV_BUCKET_NAME }}/pr-${{ github.event.number }}/index.html | |
- name: Update comment with deployment status | |
uses: mshick/add-pr-comment@v2 | |
env: | |
BUCKET_NAME: ${{ steps.secrets.outputs.PREVIEW_ENV_BUCKET_NAME }} | |
with: | |
refresh-message-position: true | |
message: | | |
The preview environment relating to the commit ${{ github.sha }} has successfully been deployed. You can access it at [https://${{ env.BUCKET_NAME }}/pr-${{ github.event.number }}/index.html](https://${{ env.BUCKET_NAME }}/pr-${{ github.event.number }}/index.html) |