Skip to content

ci(frontend-deploy): announce a deploy when it starts - #8398

Open
talissoncosta wants to merge 1 commit into
mainfrom
feat/deploy-start-notification
Open

ci(frontend-deploy): announce a deploy when it starts#8398
talissoncosta wants to merge 1 commit into
mainfrom
feat/deploy-start-notification

Conversation

@talissoncosta

@talissoncosta talissoncosta commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Thanks for submitting a PR! Please check the boxes below:

  • I have read the Contributing Guide.
  • I have added information to docs/ if required so people know about the feature.
  • I have filled in the "Changes" section below.
  • I have filled in the "How did you test this code" section below.

Changes

Follows #8371. That PR collapsed the deploy channel to one message per run, at the end. The side effect is eleven minutes of silence between a push and its outcome, so there is no way to tell a deploy is in flight, which is exactly when it matters: that is the window in which pushing again supersedes someone.

  • Adds a card at the start, carrying the commit and who pushed it, like the outcome card.
  • The job has no needs, so it lands within seconds of the push rather than after the tests.
  • The action's conclusion input becomes state, since in_progress is not a conclusion.

⏳ rather than 🚀, and no Open Production button: the two cards otherwise look alike while scanning the channel, and production is still on the previous release.

Starting

image

How did you test this code?

Rendered all four states through Slack's Block Kit Builder using the action's real payload.jq:

state headline actor label buttons
in_progress ⏳ Frontend deploying to production Pushed by Actions
success 🚀 Frontend deployed to production Deployed by Open Production, Actions
cancelled ⏭️ Frontend deploy to production stopped Pushed by Actions
failure 🛑 Frontend deploy to production failed Pushed by Actions

The start card passes no timings, so the Started and Duration fields drop out on their own, which the outcome card already relied on for its degraded path.

Both files parse as YAML. Not exercised end to end, since this workflow only runs on push to main. The step is continue-on-error: true and the job is independent of the deploy chain, so a Slack outage cannot hold up or fail a deploy.

The channel went quiet for the eleven minutes between a push and its outcome,
so there was no way to tell a deploy was in flight, which is exactly when that
matters: it is the window in which pushing again supersedes someone.

Adds a card at the start, carrying the commit and who pushed it, like the
outcome card. It has no needs, so it lands within seconds rather than after
the tests.

The action's conclusion input becomes state, since in_progress is not a
conclusion. Distinct emoji and no Open Production button, because the two
cards otherwise look alike while scanning and production has not changed yet.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

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

3 Skipped Deployments
Project Deployment Actions Updated (UTC)
docs Ignored Ignored Aug 27, 2026 8:25pm
flagsmith-frontend-preview Ignored Ignored Aug 27, 2026 8:25pm
flagsmith-frontend-staging Ignored Ignored Aug 27, 2026 8:25pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: bb2a4d2a-46ae-4fcd-9a31-77f829db018b

📥 Commits

Reviewing files that changed from the base of the PR and between bce2bf4 and 21e6d4b.

📒 Files selected for processing (3)
  • .github/actions/notify-slack-deploy/action.yml
  • .github/actions/notify-slack-deploy/payload.jq
  • .github/workflows/frontend-deploy-production.yml

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The Slack notification action now uses a state input and supports an in_progress payload. The payload retains dedicated messages for success and cancelled, with other states treated as failures. The production workflow adds a non-blocking job that sends the in-progress notification before deployment. The completion notification now passes the deployment result through state.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 21e6d

This PR adds an in-progress deployment notification without changing deployment execution, and no actionable merge-blocking risk remains beyond normal checks and review.

✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the ci-cd Build, test and deployment related label Aug 27, 2026
@codecov

codecov Bot commented Aug 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.81%. Comparing base (cb66498) to head (21e6d4b).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #8398    +/-   ##
========================================
  Coverage   98.81%   98.81%            
========================================
  Files        1620     1620            
  Lines       65908    66157   +249     
========================================
+ Hits        65124    65373   +249     
  Misses        784      784            

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@talissoncosta
talissoncosta marked this pull request as ready for review August 28, 2026 10:01
@talissoncosta
talissoncosta requested a review from a team as a code owner August 28, 2026 10:01
@talissoncosta
talissoncosta requested review from Zaimwa9 and khvn26 and removed request for a team and khvn26 August 28, 2026 10:01
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Docker builds report

Image Build Status Security report
ghcr.io/flagsmith/flagsmith-e2e:pr-8398 Finished ✅ Skipped
ghcr.io/flagsmith/flagsmith-api-test:pr-8398 Finished ✅ Skipped
ghcr.io/flagsmith/flagsmith-frontend:pr-8398 Finished ✅ Results
ghcr.io/flagsmith/flagsmith:pr-8398 Finished ✅ Results
ghcr.io/flagsmith/flagsmith-api:pr-8398 Finished ✅ Results
ghcr.io/flagsmith/flagsmith-private-cloud:pr-8398 Finished ✅ Results

@github-actions github-actions Bot added ci-cd Build, test and deployment related and removed ci-cd Build, test and deployment related labels Aug 28, 2026
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor
✅ private-cloud · depot-ubuntu-latest-16 — run #19907 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-16)

passed  2 passed

Details

stats  2 tests across 2 suites
duration  32 seconds
commit  21e6d4b
info  🔄 Run: #19907 (attempt 1)

🗂️ Previous results
✅ private-cloud · depot-ubuntu-latest-arm-16 — run #19907 (attempt 1)

Playwright Test Results (private-cloud - depot-ubuntu-latest-arm-16)

passed  23 passed
skipped  1 skipped

Details

stats  24 tests across 18 suites
duration  1 minute, 29 seconds
commit  21e6d4b
info  🔄 Run: #19907 (attempt 1)

Skipped tests

firefox › tests/onboarding-tests.pw.ts › Onboarding › New user connects via the single-page onboarding flow @oss

✅ oss · depot-ubuntu-latest-arm-16 — run #19907 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-arm-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  45.1 seconds
commit  21e6d4b
info  🔄 Run: #19907 (attempt 1)

✅ oss · depot-ubuntu-latest-16 — run #19907 (attempt 1)

Playwright Test Results (oss - depot-ubuntu-latest-16)

passed  1 passed

Details

stats  1 test across 1 suite
duration  40.2 seconds
commit  21e6d4b
info  🔄 Run: #19907 (attempt 1)

@github-actions

Copy link
Copy Markdown
Contributor

Visual Regression

19 screenshots compared. See report for details.
View full report

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

Labels

ci-cd Build, test and deployment related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant