Skip to content
name: Build and deploy
on:
push:
branches:
- master
pull_request:
branches:
- master
permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
jobs:
buildSite:
env:
GOPATH: ${{ github.workspace }}/go
name: Install deps and build site
runs-on: ubuntu-22.04-8core
environment: production
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '18.x'
- uses: actions/setup-go@v2
with:
go-version: 1.19.x
- uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.111.0'
extended: true
- name: Configure Git
run: |
git config --global url."https://${{ secrets.PULUMI_BOT_TOKEN }}:[email protected]/pulumi/pulumi-hugo-internal".insteadOf "https://github.com/pulumi/pulumi-hugo-internal"
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::388588623842:role/ContinuousDelivery
role-session-name: docs-deploy
role-duration-seconds: 7200
aws-region: us-west-2
- name: Install Pulumi CLI
uses: pulumi/actions@v4
- name: Build and deploy
run: make ci_${GITHUB_EVENT_NAME}
env:
CDN_PULUMI_URN: ${{ vars.CDN_PULUMI_URN }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_STACK_NAME: ${{ vars.PULUMI_STACK_NAME }}
DEPLOYMENT_ENVIRONMENT: ${{ vars.DEPLOYMENT_ENVIRONMENT }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ALGOLIA_APP_ID: ${{ vars.ALGOLIA_APP_ID }}
ALGOLIA_APP_SEARCH_KEY: ${{ vars.ALGOLIA_APP_SEARCH_KEY }}
ALGOLIA_APP_ADMIN_KEY: ${{ secrets.ALGOLIA_APP_ADMIN_KEY }}
NODE_OPTIONS: "--max_old_space_size=8192"
- name: Archive test results
uses: actions/upload-artifact@v2
with:
name: browser-test-results
path: cypress/videos
- name: Archive bucket metadata
uses: actions/upload-artifact@v2
with:
name: origin-bucket-metadata
path: origin-bucket-metadata.json
notify:
if: (github.ref == 'refs/heads/master' || (github.event_name == 'pull_request' && github.event.pull_request.user.login == 'pulumi-bot')) && failure()
name: Send slack notification
runs-on: ubuntu-latest
needs: [buildSite]
steps:
- name: Slack Notification
uses: docker://sholung/action-slack-notify:v2.3.0
env:
SLACK_CHANNEL: docs-ops
SLACK_COLOR: "#F54242"
SLACK_MESSAGE: "build and deploy failure in pulumi/docs repo :meow_sad:"
SLACK_USERNAME: docsbot
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_ICON: https://www.pulumi.com/logos/brand/avatar-on-white.png