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

Publish GitHub Pages previews on every PR #3601

Merged
merged 2 commits into from
Nov 25, 2024

Conversation

steveluscher
Copy link
Collaborator

@steveluscher steveluscher commented Nov 18, 2024

Now, every time workflows are run on a PR:

  1. The GitHub Pages site will be built
  2. It will be uploaded to the preview site at solana-labs.github.io/solana-web3.js-pr-preview/{PR_NUMBER}/

This will make it much easier for reviewers to review changes that affect either the example app or the documentation websites.

Copy link
Collaborator Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link

bundlemon bot commented Nov 18, 2024

BundleMon

Unchanged files (125)
Status Path Size Limits
@solana/web3.js production bundle
library/dist/index.production.min.js
33.76KB -
rpc-graphql/dist/index.browser.mjs
18.79KB -
rpc-graphql/dist/index.native.mjs
18.79KB -
rpc-graphql/dist/index.node.mjs
18.79KB -
errors/dist/index.node.mjs
14KB -
errors/dist/index.browser.mjs
13.99KB -
errors/dist/index.native.mjs
13.98KB -
transaction-messages/dist/index.browser.mjs
7.05KB -
transaction-messages/dist/index.native.mjs
7.05KB -
transaction-messages/dist/index.node.mjs
7.05KB -
codecs-data-structures/dist/index.native.mjs
4.77KB -
codecs-data-structures/dist/index.browser.mjs
4.77KB -
codecs-data-structures/dist/index.node.mjs
4.77KB -
webcrypto-ed25519-polyfill/dist/index.node.mj
s
3.49KB -
webcrypto-ed25519-polyfill/dist/index.browser
.mjs
3.47KB -
webcrypto-ed25519-polyfill/dist/index.native.
mjs
3.45KB -
rpc-subscriptions/dist/index.browser.mjs
3.33KB -
codecs-core/dist/index.browser.mjs
3.3KB -
codecs-core/dist/index.native.mjs
3.3KB -
codecs-core/dist/index.node.mjs
3.3KB -
rpc-subscriptions/dist/index.native.mjs
3.26KB -
rpc-subscriptions/dist/index.node.mjs
3.25KB -
rpc-transformers/dist/index.browser.mjs
2.92KB -
rpc-transformers/dist/index.native.mjs
2.92KB -
rpc-transformers/dist/index.node.mjs
2.92KB -
addresses/dist/index.browser.mjs
2.8KB -
addresses/dist/index.native.mjs
2.8KB -
addresses/dist/index.node.mjs
2.8KB -
library/dist/index.browser.mjs
2.67KB -
library/dist/index.native.mjs
2.67KB -
library/dist/index.node.mjs
2.67KB -
codecs-strings/dist/index.browser.mjs
2.53KB -
signers/dist/index.browser.mjs
2.53KB -
signers/dist/index.native.mjs
2.53KB -
signers/dist/index.node.mjs
2.53KB -
codecs-strings/dist/index.node.mjs
2.48KB -
codecs-strings/dist/index.native.mjs
2.46KB -
sysvars/dist/index.browser.mjs
2.32KB -
sysvars/dist/index.native.mjs
2.31KB -
sysvars/dist/index.node.mjs
2.31KB -
transaction-confirmation/dist/index.browser.m
js
2.3KB -
transaction-confirmation/dist/index.native.mj
s
2.3KB -
transaction-confirmation/dist/index.node.mjs
2.3KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.04KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.04KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.03KB -
codecs-numbers/dist/index.native.mjs
2.01KB -
codecs-numbers/dist/index.browser.mjs
2.01KB -
codecs-numbers/dist/index.node.mjs
2.01KB -
transactions/dist/index.browser.mjs
1.99KB -
transactions/dist/index.native.mjs
1.99KB -
transactions/dist/index.node.mjs
1.99KB -
react/dist/index.native.mjs
1.98KB -
react/dist/index.browser.mjs
1.98KB -
react/dist/index.node.mjs
1.98KB -
rpc-transport-http/dist/index.browser.mjs
1.91KB -
rpc-transport-http/dist/index.native.mjs
1.91KB -
rpc/dist/index.node.mjs
1.86KB -
keys/dist/index.browser.mjs
1.86KB -
keys/dist/index.native.mjs
1.86KB -
keys/dist/index.node.mjs
1.85KB -
rpc/dist/index.browser.mjs
1.76KB -
rpc/dist/index.native.mjs
1.76KB -
rpc-transport-http/dist/index.node.mjs
1.75KB -
subscribable/dist/index.browser.mjs
1.69KB -
subscribable/dist/index.native.mjs
1.69KB -
subscribable/dist/index.node.mjs
1.69KB -
rpc-types/dist/index.browser.mjs
1.6KB -
rpc-types/dist/index.native.mjs
1.6KB -
rpc-types/dist/index.node.mjs
1.6KB -
rpc-subscriptions-channel-websocket/dist/inde
x.native.mjs
1.27KB -
rpc-subscriptions-channel-websocket/dist/inde
x.browser.mjs
1.26KB -
rpc-subscriptions-channel-websocket/dist/inde
x.node.mjs
1.25KB -
options/dist/index.browser.mjs
1.18KB -
options/dist/index.native.mjs
1.18KB -
options/dist/index.node.mjs
1.17KB -
accounts/dist/index.browser.mjs
1.13KB -
accounts/dist/index.native.mjs
1.12KB -
accounts/dist/index.node.mjs
1.12KB -
rpc-spec-types/dist/index.browser.mjs
964B -
rpc-api/dist/index.browser.mjs
963B -
rpc-api/dist/index.native.mjs
962B -
rpc-spec-types/dist/index.native.mjs
962B -
rpc-spec-types/dist/index.node.mjs
961B -
rpc-api/dist/index.node.mjs
960B -
rpc-subscriptions-api/dist/index.native.mjs
870B -
rpc-subscriptions-api/dist/index.node.mjs
869B -
rpc-subscriptions-api/dist/index.browser.mjs
868B -
rpc-spec/dist/index.browser.mjs
829B -
rpc-spec/dist/index.native.mjs
829B -
rpc-spec/dist/index.node.mjs
828B -
promises/dist/index.browser.mjs
799B -
promises/dist/index.native.mjs
798B -
promises/dist/index.node.mjs
797B -
assertions/dist/index.browser.mjs
790B -
instructions/dist/index.browser.mjs
771B -
instructions/dist/index.native.mjs
770B -
instructions/dist/index.node.mjs
768B -
assertions/dist/index.native.mjs
724B -
fast-stable-stringify/dist/index.browser.mjs
724B -
assertions/dist/index.node.mjs
723B -
fast-stable-stringify/dist/index.native.mjs
723B -
fast-stable-stringify/dist/index.node.mjs
722B -
compat/dist/index.browser.mjs
712B -
compat/dist/index.native.mjs
711B -
compat/dist/index.node.mjs
710B -
programs/dist/index.browser.mjs
329B -
programs/dist/index.native.mjs
327B -
programs/dist/index.node.mjs
325B -
functional/dist/index.browser.mjs
154B -
functional/dist/index.native.mjs
152B -
text-encoding-impl/dist/index.native.mjs
152B -
functional/dist/index.node.mjs
151B -
codecs/dist/index.browser.mjs
137B -
codecs/dist/index.native.mjs
136B -
codecs/dist/index.node.mjs
134B -
ws-impl/dist/index.node.mjs
131B -
text-encoding-impl/dist/index.browser.mjs
122B -
text-encoding-impl/dist/index.node.mjs
119B -
crypto-impl/dist/index.node.mjs
114B -
ws-impl/dist/index.browser.mjs
113B -
crypto-impl/dist/index.browser.mjs
109B -
rpc-parsed-types/dist/index.browser.mjs
66B -
rpc-parsed-types/dist/index.native.mjs
65B -
rpc-parsed-types/dist/index.node.mjs
63B -

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@steveluscher steveluscher force-pushed the 11-18-publish_github_pages_previews_on_every_pr branch from c26a6a6 to 080dcbd Compare November 18, 2024 20:23
Copy link

changeset-bot bot commented Nov 18, 2024

⚠️ No Changeset found

Latest commit: f3177bc

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@steveluscher steveluscher force-pushed the 11-18-publish_github_pages_previews_on_every_pr branch 21 times, most recently from 877c695 to db2f116 Compare November 21, 2024 20:42
@solana-labs solana-labs deleted a comment from github-actions bot Nov 21, 2024
@steveluscher steveluscher force-pushed the 11-18-publish_github_pages_previews_on_every_pr branch from db2f116 to c0a3199 Compare November 21, 2024 20:46
@solana-labs solana-labs deleted a comment from github-actions bot Nov 21, 2024
@steveluscher steveluscher marked this pull request as ready for review November 21, 2024 20:46
Copy link
Contributor

A preview of the GitHub Pages site based on this PR is now available here:

solana-labs.github.io/solana-web3.js-pr-preview/3601/

@steveluscher steveluscher force-pushed the 11-18-publish_github_pages_previews_on_every_pr branch from c0a3199 to 38e8d3a Compare November 21, 2024 20:53
Copy link
Contributor

@mcintyre94 mcintyre94 left a comment

Choose a reason for hiding this comment

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

Looks good! This took a while to understand, but makes sense

The only thing I'm not sure about is whether we want to build this /v1.x path on every preview, but I figure not doing that probably just makes things more complicated for little gain?

include-hidden-files: true
name: ghpages-deploy-artifacts
path: .ghpages-deploy
retention-days: 1
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this going to delete the preview if it's not reviewed within 1 day? I guess we could just run the job again, but is there a downside to making this a bit longer?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Because all of these CI workflows are stateless, the way that they assemble the GitHub Pages site is by uploading them to a temporary ‘artifacts cache’ that only needs to live for the duration of the CI run. 1 day is actually too long.

Comment on lines 4 to 9
inputs:
pr-number:
type: number
repository:
default: 'solana-web3.js'
type: string
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it'd be useful to add a comment here that the inputs are only used for the REACT_EXAMPLE_APP_BASE_PATH and therefore for new web3js

It took me a while to figure out what's going on when the legacy job calls this without any inputs

Comment on lines 27 to 31
- uses: actions/upload-artifact@v4
with:
include-hidden-files: true
name: ghpages-deploy-artifacts
path: .ghpages-deploy
Copy link
Contributor

Choose a reason for hiding this comment

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

Probably just me not knowing stuff, but I'd find a comment here useful that this is uploading for a later deploy to github-pages. Rather than actions/upload-artifact actually being an upload to github pages which is what I first thought was going on.

@steveluscher steveluscher linked an issue Nov 25, 2024 that may be closed by this pull request
@steveluscher steveluscher added the automerge Merge this Pull Request automatically once CI passes label Nov 25, 2024
@steveluscher steveluscher merged commit 3ff92f3 into master Nov 25, 2024
13 checks passed
@steveluscher steveluscher deleted the 11-18-publish_github_pages_previews_on_every_pr branch November 25, 2024 07:48
Copy link
Contributor

github-actions bot commented Dec 9, 2024

Because there has been no activity on this PR for 14 days since it was merged, it has been automatically locked. Please open a new issue if it requires a follow up.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
automerge Merge this Pull Request automatically once CI passes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move README content into TypeDoc-compatible code comments
2 participants