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

ci(workflow): deploy rustdocs for turbopack #61958

Merged
merged 1 commit into from
Feb 12, 2024
Merged

Conversation

kwonoj
Copy link
Contributor

@kwonoj kwonoj commented Feb 12, 2024

What

We'd like to deploy generated rustdocs from turbopack & related packages (next-swc), setting up a CI workflow to automate those.

Since we need next.js side packages to build docs, this CI sets up things in this repo.

Closes PACK-2375.

@ijjk ijjk added created-by: Turbopack team PRs by the turbopack team type: next labels Feb 12, 2024
@kwonoj kwonoj force-pushed the turbopack-docs-deploy branch 5 times, most recently from 5274114 to 22e8e97 Compare February 12, 2024 19:48
@ijjk
Copy link
Member

ijjk commented Feb 12, 2024

Tests Passed

@ijjk
Copy link
Member

ijjk commented Feb 12, 2024

Stats from current PR

Default Build
General
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
buildDuration 13.6s 13.5s N/A
buildDurationCached 7.1s 6.3s N/A
nodeModulesSize 196 MB 196 MB
nextStartRea..uration (ms) 462ms 467ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
3f784ff6-HASH.js gzip 53.5 kB 53.5 kB N/A
423.HASH.js gzip 185 B 181 B N/A
68-HASH.js gzip 29.6 kB 29.6 kB N/A
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 237 B 239 B N/A
main-HASH.js gzip 31.9 kB 31.9 kB N/A
webpack-HASH.js gzip 1.7 kB 1.7 kB
Overall change 46.9 kB 46.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
_app-HASH.js gzip 194 B 195 B N/A
_error-HASH.js gzip 182 B 181 B N/A
amp-HASH.js gzip 502 B 501 B N/A
css-HASH.js gzip 320 B 322 B N/A
dynamic-HASH.js gzip 2.5 kB 2.5 kB N/A
edge-ssr-HASH.js gzip 255 B 256 B N/A
head-HASH.js gzip 350 B 349 B N/A
hooks-HASH.js gzip 368 B 369 B N/A
image-HASH.js gzip 4.2 kB 4.2 kB N/A
index-HASH.js gzip 257 B 256 B N/A
link-HASH.js gzip 2.67 kB 2.67 kB N/A
routerDirect..HASH.js gzip 310 B 311 B N/A
script-HASH.js gzip 384 B 383 B N/A
withRouter-HASH.js gzip 306 B 308 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 106 B 106 B
Client Build Manifests
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
_buildManifest.js gzip 483 B 484 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
index.html gzip 528 B 527 B N/A
link.html gzip 543 B 540 B N/A
withRouter.html gzip 524 B 522 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
edge-ssr.js gzip 94.4 kB 94.4 kB N/A
page.js gzip 150 kB 150 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
middleware-b..fest.js gzip 620 B 626 B N/A
middleware-r..fest.js gzip 151 B 149 B N/A
middleware.js gzip 47.4 kB 47.4 kB
edge-runtime..pack.js gzip 1.94 kB 1.94 kB
Overall change 49.3 kB 49.3 kB
Next Runtimes
vercel/next.js canary vercel/next.js turbopack-docs-deploy Change
app-page-exp...dev.js gzip 166 kB 166 kB
app-page-exp..prod.js gzip 95.4 kB 95.4 kB
app-page-tur..prod.js gzip 97.2 kB 97.2 kB
app-page-tur..prod.js gzip 91.6 kB 91.6 kB
app-page.run...dev.js gzip 136 kB 136 kB
app-page.run..prod.js gzip 90.2 kB 90.2 kB
app-route-ex...dev.js gzip 22 kB 22 kB
app-route-ex..prod.js gzip 14.9 kB 14.9 kB
app-route-tu..prod.js gzip 14.9 kB 14.9 kB
app-route-tu..prod.js gzip 14.7 kB 14.7 kB
app-route.ru...dev.js gzip 21.7 kB 21.7 kB
app-route.ru..prod.js gzip 14.7 kB 14.7 kB
pages-api-tu..prod.js gzip 9.43 kB 9.43 kB
pages-api.ru...dev.js gzip 9.7 kB 9.7 kB
pages-api.ru..prod.js gzip 9.43 kB 9.43 kB
pages-turbo...prod.js gzip 22 kB 22 kB
pages.runtim...dev.js gzip 22.7 kB 22.7 kB
pages.runtim..prod.js gzip 22 kB 22 kB
server.runti..prod.js gzip 49.9 kB 49.9 kB
Overall change 924 kB 924 kB
Commit: 5c2df9f

@kwonoj kwonoj force-pushed the turbopack-docs-deploy branch 2 times, most recently from 61eec16 to f0972ee Compare February 12, 2024 20:24
@kwonoj kwonoj marked this pull request as ready for review February 12, 2024 20:24
@kwonoj kwonoj requested review from manovotny and molebox and removed request for a team February 12, 2024 20:24
kwonoj added a commit to vercel/turbo that referenced this pull request Feb 12, 2024
Comment on lines +5 to +7
Currently it's work in progress, the only package available is [Turbo tasks-fs](turbo_tasks_fs/index.html)

[comment]: # 'Temporary index page document'
Copy link
Member

Choose a reason for hiding this comment

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

?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's a markdown comment. Will go away when updating docs.

Copy link
Member

Choose a reason for hiding this comment

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

Why add it though

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To explicitly state index is work in progress temporary, just to render content. Could be a visible to the rendered page, in any case would like to note for anyone see this.

.github/workflows/build_and_test.yml Outdated Show resolved Hide resolved
fi
fi

RUSTDOCFLAGS="-Z unstable-options --index-page $(pwd)/packages/next-swc/docs/index.md" cargo doc -p turbo-tasks-fs --no-deps
Copy link
Member

Choose a reason for hiding this comment

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

Why turbo-tasks-fs?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

only pkg I can casually find to build with rustdoc without 1. huge time to check CI 2. does not actually raises build error.

Copy link
Member

Choose a reason for hiding this comment

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

I don't see the point in adding this just for turbo-tasks-fs

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, there's no point for doc itself. It's setup that ensures

  1. we can build cargo docs without build error
  2. we can deploy it correctly.

It's just starting point to actually add docs.

.github/workflows/build_and_test.yml Show resolved Hide resolved
scripts/deploy-turbopack-docs.sh Show resolved Hide resolved
- name: Install Rust
uses: ./.github/actions/setup-rust
- name: Deploy preview docs
if: ${{ needs.build.outputs.isRelease != 'true' }}
Copy link
Member

Choose a reason for hiding this comment

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

this could just be a ternary on DEPLOY_ENVIRONMENT

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Could be, but same as the script itself this mimics pattern setup in other deploy work - making it consistent so later easy to find & replace as needed.

Copy link
Member

Choose a reason for hiding this comment

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

just because the existing code is bad doesn't mean the new code has to be as well

Copy link
Contributor Author

@kwonoj kwonoj Feb 12, 2024

Choose a reason for hiding this comment

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

is it bad though? I honestly don't think it's that bad, especially isRelease is universal flag for all of the existing next.js CI's workflow to work with release. It might be different way, but I don't see reason to try other pattern over established pattern.

@kwonoj kwonoj merged commit b04c703 into canary Feb 12, 2024
70 checks passed
@kwonoj kwonoj deleted the turbopack-docs-deploy branch February 12, 2024 23:14
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants