Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate pull request flow #11849

Merged
merged 4 commits into from
May 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/bucket-cleanup-testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: "Scheduled jobs: Bucket cleanup testing"
on:
schedule:
# * is a special character in YAML so you have to quote this string.
# Run every day at 3:00PM UTC.
- cron: '0 15 * * *'
workflow_dispatch:
permissions:
id-token: write # This is required for requesting the JWT
contents: read # This is required for actions/checkout
jobs:
all:
env:
GOPATH: ${{ github.workspace }}/go
name: Bucket cleanup
environment: testing
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- uses: actions/setup-node@v1
with:
node-version: '18.x'

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::571684982431:role/ContinuousDelivery
role-session-name: docs-deploy
role-duration-seconds: 7200
aws-region: us-west-2

- name: Run make ci_bucket_cleanup
run: make ci_bucket_cleanup
env:
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_STACK_NAME: ${{ vars.PULUMI_STACK_NAME }}
SLACK_ACCESS_TOKEN: ${{ secrets.SLACK_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEPLOYMENT_ENVIRONMENT: ${{ vars.DEPLOYMENT_ENVIRONMENT }}
WEBSITE_URL: ${{ vars.WEBSITE_URL }}
1 change: 1 addition & 0 deletions .github/workflows/bucket-cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@ jobs:
SLACK_ACCESS_TOKEN: ${{ secrets.SLACK_ACCESS_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEPLOYMENT_ENVIRONMENT: ${{ vars.DEPLOYMENT_ENVIRONMENT }}
WEBSITE_URL: ${{ vars.WEBSITE_URL }}
5 changes: 1 addition & 4 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@ 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
Expand Down Expand Up @@ -45,7 +42,7 @@ jobs:
uses: pulumi/actions@v4

- name: Build and deploy
run: make ci_${GITHUB_EVENT_NAME}
run: make ci_push
env:
CDN_PULUMI_URN: ${{ vars.CDN_PULUMI_URN }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
Expand Down
79 changes: 79 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Pull Request
on:
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: testing
steps:

- uses: actions/checkout@v2

- uses: actions/setup-node@v1
with:
node-version: '18.x'

- uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.111.0'
extended: true

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: arn:aws:iam::571684982431: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_pull_request
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.PULUMI_BOT_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
8 changes: 7 additions & 1 deletion scripts/list-recent-buckets.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,14 @@ if [ "$bucket_count" == "0" ]; then
exit
fi

# Check if WEBSITE_URL is set
if [ -z "$WEBSITE_URL" ]; then
echo "WEBSITE_URL is not set."
exit 1
fi

# Query for the bucket currently serving pulumi.com.
currently_deployed_bucket="$(curl -s https://www.pulumi.com/metadata.json | jq -r '.bucket' || echo '')"
currently_deployed_bucket="$(curl -s ${WEBSITE_URL}/metadata.json | jq -r '.bucket' || echo '')"

maybe_echo "Found ${bucket_count} recent buckets matching the prefix $(origin_bucket_prefix)-${bucket_prefix}:"

Expand Down
Loading