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

Promote next branch to dev; make 2.x our default development branch #6576

Merged
merged 271 commits into from
Jan 20, 2025
Merged

Conversation

abernix
Copy link
Member

@abernix abernix commented Jan 20, 2025

tl;dr: Make next (currently 2.x) into our dev (currently 1.x) branch and put 1.x work onto a new 1.x branch. After this PR lands, we'll follow-up immediately by opening a 1.x branch with the commit just prior to this merge.

Router 2.x has been under active development for nearly a year now and the next branch on this repository has been the place in which development has been taking place; while not always obvious, 198 PRs opened on this repository over the last many months (this link may change after this PR merges, but the number is right!) have been targeting next.

During that 2.x development, the dev branch (the default branch on this repository) has remained the location that 1.x work was taking place. We have continually been merging work from dev (1.x) into next (2.x) to ensure relevant work manifests in both places.

As work on 2.x is becoming closer to "release ready" and 1.x is getting closer to moving into our "maintenance LTS". This means that the substantive portion of work has pivoted; the vast majority of development is desired to take place on 2.x rather than 1.x and we want to update our branches to reflect that — as has always been the eventual plan.

With that context in mind, the time has come to:

  1. Move 1.x work into a 1.x branch
  2. Let the dev branch become 2.x work (and the new "default" target).

To make that outcome true, this PR is the second third of three four steps which we are taking:

  • merge main into dev #6578 — ensure main is up to date with dev.
  • merge dev into next #6579 (🙅 not this PR) Merge dev into next, resolving any merge conflicts to fit into the "2.x outcome" satisfactorily.
    • This step will happen soon, however this PR will remain as draft until it is done.
  • (this PR ✅) Merge next into dev as a true merge, dissolving the (current) existence of next (indefinitely for now, though it may be back when 3.x comes around!l) and causing PRs targeting next to instead re-base themselves on dev.
  • (to be completed after this PR) Create a new 1.x branch which will be the target for patches which become necessary to land on the 1.x This likely won't manifest as a PR since it'll effectively be pushing a new branch. There will, however, be some manual adjustments to our branch protection rules to enforce protections on that branch which also exist on next and dev.

As noted above, by using this PR to merge next into dev, it will automatically re-target all open PRs currently targeting next to instead be targeting dev, which is the desired outcome since those PRs are improvements to the 2.x line. This will be indirectly be taking advantage of GitHub's stacked PR merging mechanism.

lennyburdette and others added 30 commits July 30, 2024 23:03
Co-authored-by: Dylan Anthony <dylan@apollographql.com>
license enforcement now uses the expanded supergraph so we need to ensure that the connect link (serialized as join__directive) ends up in the schema
tninesling and others added 7 commits January 15, 2025 09:11
This commit fixes an issue with a downstream dependency (aws-lc-sys) caused by using an old version of GCC by updating the base CircleCI image to current.

This was realistically a long-time coming because the previous tag of stable was deprecated in favor of current back in 2022.

Below is a quote from the docker hub page explaining the change to the tag names:

current - This image tag points to the latest, production ready base image. This is a replacement for the old stable tag. This image should be used by projects that want a decent level of stability but would like to get occasional software updates. It is typically updated once a month.


Co-authored-by: Lenny Burdette <lenny@apollographql.com>
…otal` metric (#6539)"

This reverts commit f52bab8
for the purpose of merging into Router 2.0, as it is only intended for 1.x.
@router-perf
Copy link

router-perf bot commented Jan 20, 2025

CI performance tests

  • connectors-const - Connectors stress test that runs with a constant number of users
  • const - Basic stress test that runs with a constant number of users
  • demand-control-instrumented - A copy of the step test, but with demand control monitoring and metrics enabled
  • demand-control-uninstrumented - A copy of the step test, but with demand control monitoring enabled
  • enhanced-signature - Enhanced signature enabled
  • events - Stress test for events with a lot of users and deduplication ENABLED
  • events_big_cap_high_rate - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity
  • events_big_cap_high_rate_callback - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity using callback mode
  • events_callback - Stress test for events with a lot of users and deduplication ENABLED in callback mode
  • events_without_dedup - Stress test for events with a lot of users and deduplication DISABLED
  • events_without_dedup_callback - Stress test for events with a lot of users and deduplication DISABLED using callback mode
  • extended-reference-mode - Extended reference mode enabled
  • large-request - Stress test with a 1 MB request payload
  • no-tracing - Basic stress test, no tracing
  • reload - Reload test over a long period of time at a constant rate of users
  • step-jemalloc-tuning - Clone of the basic stress test for jemalloc tuning
  • step-local-metrics - Field stats that are generated from the router rather than FTV1
  • step-with-prometheus - A copy of the step test with the Prometheus metrics exporter enabled
  • step - Basic stress test that steps up the number of users over time
  • xlarge-request - Stress test with 10 MB request payload
  • xxlarge-request - Stress test with 100 MB request payload

@svc-apollo-docs
Copy link
Collaborator

svc-apollo-docs commented Jan 20, 2025

⚠️ Docs preview not attached to branch

The preview was not built because the PR's base branch dev is not in the list of sources.

An Apollo team member can comment one of the following commands to dictate which branch to attach the preview to:

  • !docs set-base-branch next
  • !docs set-base-branch main

Build ID: 8881a9aed94cf6c2c5b1ef1f

@abernix abernix marked this pull request as ready for review January 20, 2025 14:46
Copy link
Member

@goto-bus-stop goto-bus-stop left a comment

Choose a reason for hiding this comment

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

Tests pass so sure!

@garypen garypen merged commit c389c8d into dev Jan 20, 2025
16 checks passed
@abernix
Copy link
Member Author

abernix commented Jan 20, 2025

🎉

@abernix
Copy link
Member Author

abernix commented Jan 20, 2025

We had to also land #6587, for those who are curious how stacked PRs will behave when you have "delete" branch protection rules in place. ;)

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.