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

Landing Pages: switch from _latest to v* cdn buckets to pin major versions of landing pages #7741

Merged
merged 10 commits into from
Oct 23, 2023

Conversation

mayakoneval
Copy link
Contributor

I published these buckets once already. Circle CI changes here

in AS5 we want to pin embeddable code versions. Question - should we pin up to patch decimal, not just major? Just in case?

…inned buckets for Embeddable Sandbox & Explorer
@netlify
Copy link

netlify bot commented Sep 27, 2023

Deploy Preview for apollo-server-docs ready!

Name Link
🔨 Latest commit e2c4c75
🔍 Latest deploy log https://app.netlify.com/sites/apollo-server-docs/deploys/6536dd6d8d794e0008fd194a
😎 Deploy Preview https://deploy-preview-7741--apollo-server-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 27, 2023

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit e2c4c75:

Sandbox Source
Apollo Server Typescript Configuration
Apollo Server Configuration

Copy link
Member

@trevor-scheer trevor-scheer left a comment

Choose a reason for hiding this comment

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

This is great, thank you for implementing this!

Comment on lines 89 to 91
const explorerVersion = maybeVersion ?? 'v3';
const sandboxVersion = maybeVersion ?? 'v2';
const apolloServerLandingPageVersion = maybeVersion ?? '_latest';
Copy link
Member

Choose a reason for hiding this comment

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

Can we export these defaults and import them in the test? It'll be nice to see test updates tied to the constants updating.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

oops missed this, doing now

@trevor-scheer
Copy link
Member

Looks like this integration test needs an update

@trevor-scheer trevor-scheer changed the title AS5: Landing Pages: switch from _latest to major version cdn buckets Landing Pages: switch from _latest to v* cdn buckets to pin major versions of landing pages Oct 2, 2023
@trevor-scheer
Copy link
Member

trevor-scheer commented Oct 2, 2023

Just a note for anyone gathering context from this PR. All current AS4 versions at the time of writing this comment are affected by this. New major versions of the landing pages should not be published to the _latest cdn directory at the risk of breaking existing AS4 usages. Moving to major-version-pinned landing pages unblocks the landing pages from publishing new majors and allowing Apollo Server to update to them, but we should never publish a new major to _latest unless we reach a point where breaking AS4 usages is acceptable (and even then, maybe we should just never publish a new major to _latest and adopt a __latest or latest instead IF we ever even want to do that again).

Comment on lines 41 to 44
* By default, the landing page plugin uses the version of the landing
* page published to Apollo's CDN from https://github.com/apollographql/embeddable-explorer/commit/73baf89f5308d263425bbafe21a842a26123cfac.
* If you'd like to pin the current version, pass the SHA served at
* https://apollo-server-landing-page.cdn.apollographql.com/latest/version.txt
Copy link
Member

@trevor-scheer trevor-scheer Oct 5, 2023

Choose a reason for hiding this comment

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

I'm not sure that putting a specific commit is accurate over time here. Can we simplify this comment a bit? Something like this or maybe just a bulleted list of what's acceptable here.

Specify the major version of the landing page to use, i.e v2 or provide a specific commit from the embeddable explorer repo. We also support a latest tag but don't recommend using it as it's subject to major version updates.

mayakoneval and others added 2 commits October 23, 2023 13:45
…plorerHTML.test.ts

Co-authored-by: Trevor Scheer <trevor.scheer@gmail.com>
…ndboxHTML.test.ts

Co-authored-by: Trevor Scheer <trevor.scheer@gmail.com>
@mayakoneval
Copy link
Contributor Author

@trevor-scheer comment updates, is that all we needed here?

@mayakoneval mayakoneval merged commit 201524b into main Oct 23, 2023
20 checks passed
@mayakoneval mayakoneval deleted the maya/09-2023/pin-embeddable-versions-major branch October 23, 2023 21:10
@github-actions github-actions bot mentioned this pull request Oct 23, 2023
trevor-scheer pushed a commit that referenced this pull request Oct 26, 2023
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @apollo/server-integration-testsuite@4.9.5

### Patch Changes

- [#7717](#7717)
[`681bdd0dc`](681bdd0)
Thanks [@renovate](https://github.com/apps/renovate)! - Update
graphql-http dependency

- Updated dependencies
\[[`07585fe39`](07585fe),
[`4fac1628c`](4fac162)]:
    -   @apollo/server@4.9.5

## @apollo/server@4.9.5

### Patch Changes

- [#7741](#7741)
[`07585fe39`](07585fe)
Thanks [@mayakoneval](https://github.com/mayakoneval)! - Pin major
releases of embeddable Explorer & Sandbox code.

- [#7769](#7769)
[`4fac1628c`](4fac162)
Thanks [@cwikla](https://github.com/cwikla)! - Change
SchemaReporter.pollTimer from being a NodeJS.Timer to a NodeJS.Timeout

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants