Skip to content

chore(release): promote staging to production#2804

Merged
RemiBonnet merged 17 commits into
mainfrom
staging
Jul 7, 2026
Merged

chore(release): promote staging to production#2804
RemiBonnet merged 17 commits into
mainfrom
staging

Conversation

@RemiBonnet

Copy link
Copy Markdown
Member

Opens the production promotion path from staging to main. Merging this PR triggers semantic-release, then the existing production deployment workflow.

Do not squash this PR. Use a merge commit to preserve the original conventional commits for semantic-release.

RemiBonnet and others added 15 commits June 30, 2026 17:20
* Add icons for blueprints

* Improve blueprint-based service creation flow loading behavior

This is done by listening to a new WS API endpoint

* Reuse ServiceAvatar component

* Remove aria-hidden wrappers

* Refactor WS subscription and submit logic

* Rename onInvalidateOperation to onQueryInvalidated

* Update success toast display strategy

* Add timeout fallback whem WS is not received
* fix(release): use rebase for production promotion

* fix(release): allow skipped promotion checks

* fix(release): require staging smoke check
…2792)

* fix(cluster): correct override issue when updating Karpenter config

* Bring back fallback values

* Fix lint issue

* Update unit test
…#2793)

fix(organization): optimize secret manager marquee animation
…ager pylon form id (#2796)

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
* feat(onboarding): add getting started checklist on organization overview

- Add SectionOnboarding component with 4-step checklist (workspace, cluster, environment, service)
- Fetch onboarding status from new GET /organization/{id}/onboarding endpoint
- Persist dismiss via POST /organization/{id}/onboarding with status DISMISSED
- Hide section for existing orgs (null status) and invited members
- Show animated deploying/failed states with cluster and service log links
- Add McpSuggestionCard when no cluster exists
- Add dev-only reset button to clear dismissed state
- Simplify section-production-health (cluster creation moved to onboarding)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(onboarding): add COMPLETED status when all steps are done

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(qov-1844): update onboarding hooks to use generated axios client

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): use is_deployed for cluster step and service_deployment_status for service step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): correct cluster/service running status checks

- Cluster: require both status===DEPLOYED and is_deployed to avoid
  showing as done when cluster is unavailable (stale status field)
- Service: use state===DEPLOYED for running check; add isServiceStopped
  visual state showing "Service stopped" link when no service is running
- Remove unused ServiceDeploymentStatusEnum import

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): show MCP skills card until all steps are completed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): hide section for orgs without use_cases (old orgs)

Old orgs have no onboarding record or use_cases=null — only show the
section when use_cases is set (new orgs that went through the wizard).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): redirect to deployment logs on service failure

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): show completion links based on selected use cases

Preview environments link only if ephemeral-environments was selected,
AI Builder Portal only if rde was selected. Invite teammates always shown.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(onboarding): remove dev-only reset dismiss button

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: revert latest.json to staging

* style(onboarding): apply prettier formatting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): remove unused variables flagged by lint

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(onboarding): add tests for onboarding query and mutation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* style(onboarding): apply prettier formatting to spec file

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(tests): update section-production-health tests after cluster options moved to onboarding

Cluster option cards (Qovery managed, BYOC, Local machine) and MCP skills
card were moved to SectionOnboarding. Tests now reflect the simplified
EmptyState with a single "Create cluster" CTA.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(onboarding): update checklist completion modal

* feat(onboarding): enhance section onboarding with completion handling and navigation

* feat(onboarding): add CompletionPartyHornIllustration component and integrate into section onboarding

* fix(on-boarding): Avoid unnecessary calls when the onboarding is done

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* refactor(onboarding): address PR review comments

- Remove dead code: use-rde-access.ts, use-update-user-signup.ts
- Extract CompletionPartyHornIllustration to its own file (~200 lines removed from main)
- Replace organizationId prop with useParams() in SectionOnboarding
- Add enabled: !!firstEnvironment?.id to useDeploymentRule to prevent empty queries
- Add enabled prop to UseDeploymentRuleProps
- Memoize computed values in SectionOnboarding (useMemo on status flags, allServiceStatuses, completedCount)
- Restore user?.communication_email ?? userToken?.email fallback in UserMenu
- Extract duplicated navigate/onSuccess logic into handleResult() in CreateCloneEnvironmentModal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(onboarding): restore full refactoring lost during rebase conflict resolution

- Remove SectionOnboardingProps, use useParams instead of organizationId prop
- Add useMemo for all computed status flags and derived values
- Add isOnboardingActive guard to prevent unnecessary API calls
- Add enabled: !!firstEnvironment?.id to useDeploymentRule

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(auth): remove queryClient.clear() on logout

Shared-device scenarios are not a supported use case.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Théo Grandin <theo.grandin74@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…rovements (#2791)

* Add support for multiple versions

* Add "Update available" and "Up-to-date" badges for blueprint-based services

* Made useBlueprintUpdate's blueprintId param mandatory

* Update .gitignore

* Refactor blueprint-based service creation flow to better manage data
fetching and redirections

* Skeleton is not longer displayed when clicking on "Continue"

* Improve the creation flow by making the "overrides" section optional

* Fix lint issue

* Update failing and outdated unit tests
feat(sma) Add banner info for secret manager access plan
feat(qov-1844) Add warning message for gke kms key
#2798)

* feat(onboarding): require a professional email on the personalize step

Reject sign-ups using free/personal/disposable email providers (Gmail, Yahoo, Outlook, etc.) so the onboarding form only accepts business email addresses.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(onboarding): don't prefill a personal email from the social provider

The email field was silently pre-populated with the Auth0 social login email (e.g. a Gmail address), which fails the professional-email validation and left the Continue button disabled with no visible error. Now the field is left empty when the social email is a personal domain, and the label is renamed to "Professional email address" to make the requirement clear upfront.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
@RemiBonnet RemiBonnet enabled auto-merge July 7, 2026 12:39
RemiBonnet and others added 2 commits July 7, 2026 14:48
<!--
Thanks for contributing to the Qovery Console.

Before opening the PR:
- A JIRA ticket exists and you are assigned to it (unless it is a
trivial fix)
- Changes were tested locally (app and/or Storybook as relevant)
- The code follows the rules under `.cursor/rules`
-->

## Summary

**Issue**: <!-- QOV-1234 -->

<!-- Brief description of what this PR does -->
<!-- step-by-step instructions for reviewers -->
<!-- bullet list of changes -->
<!-- reasons / problems solved -->
<!-- highlight the key implementation details -->

## Screenshots / Recordings

<!--
| Before                              | After                      |
| ----------------------------------- | -------------------------- |
| drag & drop image optional | drag & drop image |
-->

## Testing

- [ ] Changes tested locally in the relevant Console's pages and
Storybooks
- [ ] `yarn test` or `yarn test -u` (if you need to regenerate
snapshots)
- [ ] `yarn format`
- [ ] `yarn lint`

## PR Checklist

- [ ] I followed naming, styling, and TypeScript rules (see
`.cursor/rules`)
- [ ] I performed a self-review (diff inspected, dead code removed)
- [ ] I titled the PR using [Conventional
Commits](https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with-scope)
with a scope when possible (e.g. `feat(service): add new Terraform
service`) - required for semantic-release
- [ ] I only kept necessary comments, written in English (watch for
useless AI comments)
- [ ] I involved a designer to validate UI changes if I am not a
designer
- [ ] I covered new business logic with tests (unit)
- [ ] I confirmed CI is green (Codecov red can be accepted)
- [ ] I reviewed and executed locally any AI-assisted code
@nx-cloud

nx-cloud Bot commented Jul 7, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit d1900fd

Command Status Duration Result
nx e2e console-e2e ✅ Succeeded 5s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-07-07 13:28:53 UTC

@RemiBonnet RemiBonnet merged commit d660cb3 into main Jul 7, 2026
20 checks passed
@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 74.39024% with 42 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (main@d1a2a37). Learn more about missing BASE report.
⚠️ Report is 18 commits behind head on main.

Files with missing lines Patch % Lines
...onfiguration-view/blueprint-configuration-view.tsx 83.56% 10 Missing and 2 partials ⚠️
...manifest/use-blueprint-catalog-service-manifest.ts 0.00% 6 Missing ⚠️
...ger-highlight/section-secret-manager-highlight.tsx 0.00% 5 Missing ⚠️
...nt-manifest-context/blueprint-manifest-context.tsx 80.95% 3 Missing and 1 partial ⚠️
...reation-flow/blueprint/blueprint-creation-flow.tsx 62.50% 0 Missing and 3 partials ⚠️
...-resources-settings/cluster-resources-settings.tsx 0.00% 0 Missing and 2 partials ⚠️
...vironment-modal/create-clone-environment-modal.tsx 66.66% 1 Missing and 1 partial ⚠️
...hooks/use-blueprint-update/use-blueprint-update.ts 0.00% 2 Missing ⚠️
...service-overview/service-header/service-header.tsx 71.42% 1 Missing and 1 partial ⚠️
.../overrides-section-card/overrides-section-card.tsx 0.00% 1 Missing ⚠️
... and 3 more
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2804   +/-   ##
=======================================
  Coverage        ?   46.93%           
=======================================
  Files           ?     1252           
  Lines           ?    26778           
  Branches        ?     7804           
=======================================
  Hits            ?    12569           
  Misses          ?    12052           
  Partials        ?     2157           
Flag Coverage Δ
unittests 46.93% <74.39%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@RemiBonnet

Copy link
Copy Markdown
Member Author

🎉 This PR is included in version 1.326.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants