Skip to content

Commit

Permalink
rebase main
Browse files Browse the repository at this point in the history
  • Loading branch information
zehiko committed Dec 5, 2024
1 parent b3e3a6f commit 5248fdd
Show file tree
Hide file tree
Showing 36 changed files with 1,204 additions and 729 deletions.
6 changes: 2 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ jobs:
- [ ] C++ SDK zip: does it contain rerun_c for all platforms?
- [ ] Populate the release with the changelog and a nice header video/picture, check `Set as latest release`, then click `Publish release`.
- [ ] Update the [google colab notebooks](https://drive.google.com/drive/folders/0AC0q24MFKh3fUk9PVA) to install this version and re-execute the notebook.
- [ ] Update landing's version of the web viewer (@jprochazk)
A few hours after the GitHub release is created, `regro-cf-autotick-bot` will create a
[conda feedstock PR](https://github.com/conda-forge/rerun-sdk-feedstock/pulls).
Expand Down Expand Up @@ -360,10 +361,7 @@ jobs:
cat <<EOF > comment-body.txt
GitHub release draft: [$version](https://github.com/rerun-io/rerun/releases/tag/$version)
Do NOT create a GitHub release yet!
The release will be automatically un-drafted by the "Sync Release Assets" job, which will run automatically.
EOF
Add a description, changelog, and a nice header video/picture, then click 'Publish release'.
gh pr comment $pr_number --body-file comment-body.txt
Expand Down
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

## [Unreleased](https://github.com/rerun-io/rerun/compare/latest...HEAD)

## [0.20.3](https://github.com/rerun-io/rerun/compare/0.20.2...0.20.3) - Web viewer fix

### 🔎 Details

#### 🪳 Bug fixes
- Fix web viewer feature flags [#8295](https://github.com/rerun-io/rerun/pull/8295)

## [0.20.2](https://github.com/rerun-io/rerun/compare/0.20.1...0.20.2) - Build fix

### 🔎 Details
Expand Down
37 changes: 19 additions & 18 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f47983a1084940ba9a39c077a8c63e55c619388be5476ac04c804cfbd1e63459"
dependencies = [
"accesskit",
"hashbrown 0.15.0",
"hashbrown 0.15.1",
"immutable-chunkmap",
]

Expand All @@ -71,7 +71,7 @@ checksum = "7329821f3bd1101e03a7d2e03bd339e3ac0dc64c70b4c9f9ae1949e3ba8dece1"
dependencies = [
"accesskit",
"accesskit_consumer 0.26.0",
"hashbrown 0.15.0",
"hashbrown 0.15.1",
"objc2",
"objc2-app-kit",
"objc2-foundation",
Expand Down Expand Up @@ -103,7 +103,7 @@ checksum = "24fcd5d23d70670992b823e735e859374d694a3d12bfd8dd32bd3bd8bedb5d81"
dependencies = [
"accesskit",
"accesskit_consumer 0.26.0",
"hashbrown 0.15.0",
"hashbrown 0.15.1",
"paste",
"static_assertions",
"windows 0.58.0",
Expand Down Expand Up @@ -1923,7 +1923,7 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]]
name = "ecolor"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"bytemuck",
"color-hex",
Expand All @@ -1940,7 +1940,7 @@ checksum = "18aade80d5e09429040243ce1143ddc08a92d7a22820ac512610410a4dd5214f"
[[package]]
name = "eframe"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"ahash",
"bytemuck",
Expand Down Expand Up @@ -1979,7 +1979,7 @@ dependencies = [
[[package]]
name = "egui"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"accesskit",
"ahash",
Expand All @@ -1996,7 +1996,7 @@ dependencies = [
[[package]]
name = "egui-wgpu"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"ahash",
"bytemuck",
Expand All @@ -2015,7 +2015,7 @@ dependencies = [
[[package]]
name = "egui-winit"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"accesskit_winit",
"ahash",
Expand Down Expand Up @@ -2057,7 +2057,7 @@ dependencies = [
[[package]]
name = "egui_extras"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"ahash",
"egui",
Expand All @@ -2074,7 +2074,7 @@ dependencies = [
[[package]]
name = "egui_glow"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"ahash",
"bytemuck",
Expand All @@ -2092,7 +2092,7 @@ dependencies = [
[[package]]
name = "egui_kittest"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"dify",
"egui",
Expand Down Expand Up @@ -2161,7 +2161,7 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
[[package]]
name = "emath"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"bytemuck",
"serde",
Expand Down Expand Up @@ -2277,7 +2277,7 @@ dependencies = [
[[package]]
name = "epaint"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"
dependencies = [
"ab_glyph",
"ahash",
Expand All @@ -2296,7 +2296,7 @@ dependencies = [
[[package]]
name = "epaint_default_fonts"
version = "0.29.1"
source = "git+https://github.com/emilk/egui.git?rev=eac7ba01fa37bad35f71bc303561761952361b7c#eac7ba01fa37bad35f71bc303561761952361b7c"
source = "git+https://github.com/emilk/egui.git?rev=c5ac7d301a90afbaec843ee04fb43d8a0956cc90#c5ac7d301a90afbaec843ee04fb43d8a0956cc90"

[[package]]
name = "equivalent"
Expand Down Expand Up @@ -2998,9 +2998,9 @@ dependencies = [

[[package]]
name = "hashbrown"
version = "0.15.0"
version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3"
dependencies = [
"allocator-api2",
"equivalent",
Expand Down Expand Up @@ -3409,7 +3409,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
dependencies = [
"equivalent",
"hashbrown 0.15.0",
"hashbrown 0.15.1",
"serde",
]

Expand Down Expand Up @@ -3826,7 +3826,7 @@ version = "0.12.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38"
dependencies = [
"hashbrown 0.15.0",
"hashbrown 0.15.1",
]

[[package]]
Expand Down Expand Up @@ -6242,6 +6242,7 @@ dependencies = [
"fjadra",
"nohash-hasher",
"re_chunk",
"re_data_ui",
"re_entity_db",
"re_format",
"re_log_types",
Expand Down
14 changes: 7 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -559,13 +559,13 @@ significant_drop_tightening = "allow" # An update of parking_lot made this trigg
# As a last resport, patch with a commit to our own repository.
# ALWAYS document what PR the commit hash is part of, or when it was merged into the upstream trunk.

ecolor = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
eframe = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
egui = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
egui_extras = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
egui_kittest = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
egui-wgpu = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
emath = { git = "https://github.com/emilk/egui.git", rev = "eac7ba01fa37bad35f71bc303561761952361b7c" } # egui master 2024-12-03
ecolor = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03
eframe = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03
egui = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03
egui_extras = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03
egui_kittest = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03
egui-wgpu = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03
emath = { git = "https://github.com/emilk/egui.git", rev = "c5ac7d301a90afbaec843ee04fb43d8a0956cc90" } # egui master 2024-12-03

# Useful while developing:
# ecolor = { path = "../../egui/crates/ecolor" }
Expand Down
105 changes: 58 additions & 47 deletions RELEASES.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,74 +48,85 @@ If we are doing a patch release, we do a branch off of the latest release tag (e

# Release process

1. ### Check the root [`Cargo.toml`](/Cargo.toml) to see what version we are currently on.
### 1. Check the root [`Cargo.toml`](/Cargo.toml) to see what version we are currently on.

2. ### Create a release branch.
### 2. Create a release branch.

The name should be:
- `release-0.x.y` for final releases and their release candidates.
- `release-0.x.y-alpha.N` where `N` is incremented from the previous alpha,
or defaulted to `1` if no previous alpha exists.
The name should be:
- `release-0.x.y` for final releases and their release candidates.
- `release-0.x.y-alpha.N` where `N` is incremented from the previous alpha,
or defaulted to `1` if no previous alpha exists.

Note that `release-0.x` is _invalid_. Always specify the `y`, even if it is `0`,
e.g. `release-0.15.0` instead of `release-0.15`.
Note that `release-0.x` is _invalid_. Always specify the `y`, even if it is `0`,
e.g. `release-0.15.0` instead of `release-0.15`.

For minor release, the branch is typically created from `main`. For patch release, the branch is typically created
from the previous release's tag.
For minor release, the branch is typically created from `main`. For patch release, the branch is typically created
from the previous release's tag.

![Image showing the branch create UI. You can find the `new branch` button at https://github.com/rerun-io/rerun/branches](https://github.com/rerun-io/rerun/assets/1665677/becaad03-9262-4476-b811-c23d40305aec)
![Image showing the branch create UI. You can find the `new branch` button at https://github.com/rerun-io/rerun/branches](https://github.com/rerun-io/rerun/assets/1665677/becaad03-9262-4476-b811-c23d40305aec)

Note: you do not need to create a PR for this branch -- the release workflow will do that for you.
Note: you do not need to create a PR for this branch -- the release workflow will do that for you.

3. ### If this is a patch release, cherry-pick commits for inclusion in the release into the branch.
### 3. If this is a patch release, cherry-pick commits for inclusion in the release into the branch.

When done, run [`cargo semver-checks`](https://github.com/obi1kenobi/cargo-semver-checks) to check that we haven't introduced any semver breaking changes.
When done, run [`cargo semver-checks`](https://github.com/obi1kenobi/cargo-semver-checks) to check that we haven't introduced any semver breaking changes.

:warning: Any commits between the last release's tag and the `docs-latest` branch should also be cherry-picked.
Otherwise, these changes will be lost when `docs-latest` is updated.
:warning: Any commits between the last release's tag and the `docs-latest` branch should also be cherry-picked,
otherwise these changes will be lost when `docs-latest` is updated.

4. ### Update [`CHANGELOG.md`](/CHANGELOG.md) and clean ups.
```
# On branch `release-0.x.y`
git fetch origin docs-latest:docs-latest
git cherry-pick 0.x.z..docs-latest
```

Update the change log. It should include:
- A one-line summary of the release
- A multi-line summary of the release
- A gif showing a major new feature
- Run `pip install GitPython && scripts/generate_changelog.py > new_changelog.md`
- Edit PR descriptions/labels to improve the generated changelog
- Copy-paste the results into `CHANGELOG.md`.
- Editorialize the changelog if necessary
- Make sure the changelog includes instructions for handling any breaking changes
Where `z` is the previous patch number.

Remove the speculative link markers and the `attr.docs.unreleased` attributes in the .fbs files.
Note that the `cherry-pick` will fail if there are no additional `docs-latest` commits to include,
which is fine.

Once you're done, commit and push onto the release branch.
### 4. Update [`CHANGELOG.md`](/CHANGELOG.md) and clean ups.

5. ### Run the [release workflow](https://github.com/rerun-io/rerun/actions/workflows/release.yml).
Update the change log. It should include:
- A one-line summary of the release
- A multi-line summary of the release
- A gif showing a major new feature
- Run `pip install GitPython && scripts/generate_changelog.py > new_changelog.md`
- Edit PR descriptions/labels to improve the generated changelog
- Copy-paste the results into `CHANGELOG.md`.
- Editorialize the changelog if necessary
- Make sure the changelog includes instructions for handling any breaking changes

In the UI:
- Set `Use workflow from` to the release branch you created in step (2).
- Then choose one of the following values in the dropdown:
- `alpha` if the branch name is `release-x.y.z-alpha.N`.
This will create a one-off alpha release.
Remove the speculative link markers and the `attr.docs.unreleased` attributes in the .fbs files.

- `rc` if the branch name is `release-x.y.z`.
This will create a pull request for the release, and publish a release candidate.
Once you're done, commit and push onto the release branch.

- `final` for the final public release
### 5. Run the [release workflow](https://github.com/rerun-io/rerun/actions/workflows/release.yml).

![Image showing the Run workflow UI. It can be found at https://github.com/rerun-io/rerun/actions/workflows/release.yml](https://github.com/rerun-io/rerun/assets/1665677/6cdc8e7e-c0fc-4cf1-99cb-0749957b8328)
In the UI:
- Set `Use workflow from` to the release branch you created in step (2).
- Then choose one of the following values in the dropdown:
- `alpha` if the branch name is `release-x.y.z-alpha.N`.
This will create a one-off alpha release.

6. ### Wait for the workflow to finish
- `rc` if the branch name is `release-x.y.z`.
This will create a pull request for the release, and publish a release candidate.

The PR description will contain next steps.
- `final` for the final public release

Note: there are two separate workflows running -- the one building the release artifacts, and the one running the PR checks.
You will have to wait for the [former](https://github.com/rerun-io/rerun/actions/workflows/release.yml) in order to get a link to the artifacts.
![Image showing the Run workflow UI. It can be found at https://github.com/rerun-io/rerun/actions/workflows/release.yml](https://github.com/rerun-io/rerun/assets/1665677/6cdc8e7e-c0fc-4cf1-99cb-0749957b8328)

7. ### Merge changes to `main`
### 6. Wait for the workflow to finish

For minor release, merge the release branch to `main`.
The PR description will contain next steps.

For patch release, manually create a new PR from `main` and cherry-pick the required commits. This includes at least
the `CHANLGE.log` update, plus any other changes made on the release branch that hasn't been cherry-picked in the
first place.
Note: there are two separate workflows running -- the one building the release artifacts, and the one running the PR checks.
You will have to wait for the [former](https://github.com/rerun-io/rerun/actions/workflows/release.yml) in order to get a link to the artifacts.

### 7. Merge changes to `main`

For minor release, merge the release branch to `main`.

For patch release, manually create a new PR from `main` and cherry-pick the required commits. This includes at least
the `CHANLGE.log` update, plus any other changes made on the release branch that hasn't been cherry-picked in the
first place.
9 changes: 7 additions & 2 deletions crates/build/re_dev_tools/src/build_web_viewer/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ pub fn build(
debug_symbols: bool,
target: Target,
build_dir: &Utf8Path,
no_default_features: bool,
features: &String,
) -> anyhow::Result<()> {
std::env::set_current_dir(workspace_root())?;
Expand Down Expand Up @@ -118,9 +119,13 @@ pub fn build(
"--lib",
"--target=wasm32-unknown-unknown",
&format!("--target-dir={}", target_wasm_dir.as_str()),
"--no-default-features",
&format!("--features={features}"),
]);
if no_default_features {
cmd.arg("--no-default-features");
}
if !features.is_empty() {
cmd.arg(&format!("--features={features}"));
}
if profile == Profile::Release {
cmd.arg("--release");
}
Expand Down
5 changes: 5 additions & 0 deletions crates/build/re_dev_tools/src/build_web_viewer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ pub struct Args {
/// comma-separated list of features to pass on to `re_viewer`
#[argh(option, short = 'F', long = "features", default = "default_features()")]
features: String,

/// whether to exclude default features from `re_viewer` wasm build
#[argh(switch, long = "no-default-features")]
no_default_features: bool,
}

fn default_features() -> String {
Expand All @@ -62,6 +66,7 @@ pub fn main(args: Args) -> anyhow::Result<()> {
args.debug_symbols,
args.target,
&build_dir,
args.no_default_features,
&args.features,
)
}
Loading

0 comments on commit 5248fdd

Please sign in to comment.