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

Speed up web build on PRs #4278

Closed
jprochazk opened this issue Nov 20, 2023 · 0 comments · Fixed by #4391
Closed

Speed up web build on PRs #4278

jprochazk opened this issue Nov 20, 2023 · 0 comments · Fixed by #4391
Labels
🧑‍💻 dev experience developer experience (excluding CI) 🚢 CI 🕸️ web regarding running the viewer in a browser

Comments

@jprochazk
Copy link
Member

We currently have to wait quite a while for the web demo to build (~10 minutes), because it requires building fresh wheels and rrd files, on top of building the web app.

Most PRs do not create an incompatibility with the existing rrd files, so we should be able to default to the ones on version/nightly, and completely skip building wheels + rrd files on these PRs. This would cut the time until you have a build of the web app for your PR in half, down to roughly 5 minutes.

For PRs that may break the rrd files, we should have a new @rerun-bot command, which enables the wheel build + associated tests for the PR when placed in either the PR body or a comment.

@jprochazk jprochazk added 🕸️ web regarding running the viewer in a browser 🧑‍💻 dev experience developer experience (excluding CI) 🚢 CI labels Nov 20, 2023
@jprochazk jprochazk changed the title Speed up CI happy path on PRs Speed up web build on PRs Nov 20, 2023
jprochazk added a commit that referenced this issue Dec 1, 2023
### What

* Closes #4278
* Closes #3190 - it's now
possible to patch the manifest for a previously released version,
starting with the next release.

- [x] Stop including `examples_manifest.json` as part of the binary in
favor of downloading it from `app.rerun.io`
- [x] Move `re_viewer/build.rs` logic to a separate binary crate
- [x] Native: Manifest URL override via a runtime env var
- [x] Web: Manifest URL override via query param (`manifest_url`)
- [x] CI: Build and upload `examples_manifest.json` together with every
build of the web app for:
  - `/commit`
  - `/pr`
  - `/version/nightly`
  - `/version/{tag}`
  - `/prerelease`
  - `/latest`
- [x] PR template: Link to app using both nightly and PR examples
manifest

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
  * Full build: [app.rerun.io](https://app.rerun.io/pr/4391/index.html)
* Partial build:
[app.rerun.io](https://app.rerun.io/pr/4391/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
- Useful for quick testing when changes do not affect examples in any
way
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG

- [PR Build Summary](https://build.rerun.io/pr/4391)
- [Docs
preview](https://rerun.io/preview/cf3b24badc3c29a75442aa2eb27ba7eeadcdb7ac/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/cf3b24badc3c29a75442aa2eb27ba7eeadcdb7ac/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🧑‍💻 dev experience developer experience (excluding CI) 🚢 CI 🕸️ web regarding running the viewer in a browser
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant