Skip to content

fix(ci): harden auto-merge, add build validation, and post-deploy smoke test - #4433

Open
cmcarthur wants to merge 9 commits into
masterfrom
safety/ci-validation-and-auto-merge-hardening
Open

fix(ci): harden auto-merge, add build validation, and post-deploy smoke test#4433
cmcarthur wants to merge 9 commits into
masterfrom
safety/ci-validation-and-auto-merge-hardening

Conversation

@cmcarthur

@cmcarthur cmcarthur commented Apr 7, 2026

Copy link
Copy Markdown
Member

Summary

This repo serves the production API backing dbt deps. Three safety changes:

  • Restrict auto-merge to hubcap only: Added if: github.actor == 'FishtownBuildBot' to both autolabel and automerge jobs. Verified across 810 historical workflow runs that FishtownBuildBot is the only actor that should auto-merge. Previously, any org member who opened a PR touching data/packages/ would have it auto-labeled and auto-merged to master → production.

  • Add required build validation (new validate.yml): Runs on all PRs and pushes to master. Builds the site, validates packages.json is valid JSON with 100+ packages, and spot-checks 20 individual package JSON files for required fields (name, namespace, versions). Should be configured as a required status check via branch protection after merge.

  • Add post-deploy smoke test: After S3 upload and CloudFront invalidation, curls the live API and verifies valid JSON response with 100+ packages. Makes failed deploys visible in GitHub Actions.

Test plan

  • Verify the Validate build workflow runs and passes on this PR
  • After merge, verify the next hubcap PR still auto-merges successfully
  • After merge, verify the deploy workflow smoke test step passes
  • Configure Validate build as a required status check on master via branch protection settings

🤖 Generated with Claude Code

@vercel

vercel Bot commented Apr 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hub-getdbt-com Ready Ready Preview, Comment Apr 13, 2026 0:53am

Request Review

@joellabes

Copy link
Copy Markdown
Contributor

lgtm!

  • Makes failed deploys visible in GitHub Actions.

Will this propagate to datadog or anywhere else that someone will notice? What's the alerting strategy once a failure happens?

@cmcarthur
cmcarthur requested a review from chayac April 8, 2026 20:10
@cmcarthur

Copy link
Copy Markdown
Member Author

@joellabes

Will this propagate to datadog or anywhere else that someone will notice? What's the alerting strategy once a failure happens?

no, today, it won't. we have other monitoring in datadog that will ensure we notice this right away. but this is not wired up to anything yet.

when you get a chance, can you approve on behalf of DX team? I need the approval to merge


jobs:
autolabel:
if: github.actor == 'FishtownBuildBot'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, the way Hubcap is currently set up, I think that the actor ID on the PR is technically the user associated with the token (which is me currently). Which is obviously its own issue :) but until that gets reworked, I think this will block Hubcap PRs from getting merged. Based on Snowflake it looks like FishtownBuildBot is the associated user ID but not the actor ID - is that a field that can be used here instead?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will work withgithub.event.pull_request.user.login instead of github.actor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants