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

Enable stream buttons and merge upstream changes #12

Open
wants to merge 202 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
1e84aa5
`arrow2_convert` primitive (de)serialization benchmarks (#1742)
teh-cmc Mar 31, 2023
731d941
Fix logged obb being displayed with half of the requested size (#1749)
BenjaminDev Apr 1, 2023
ef2b5dc
benchmarks for common vector ops across `smallvec`/`tinyvec`/std (#1747)
teh-cmc Apr 1, 2023
d5b68f2
Tracked 3D cameras lead now to on-hover rays in other space views tha…
Wumpf Apr 3, 2023
2728854
Improve dealing with raw buffers for texture read/write (#1744)
Wumpf Apr 3, 2023
4439309
`arrow2` erased refcounted clones benchmarks (#1745)
teh-cmc Apr 3, 2023
29a13ea
`arrow2` estimated_bytes_size benchmarks (#1743)
teh-cmc Apr 3, 2023
d94ca3d
Fix crash when trying to do picking on depth clouds
emilk Apr 4, 2023
bf27c8e
Readback depth from GPU picking (#1752)
Wumpf Apr 4, 2023
a479c0c
Add new ARKitScenes example (#1538)
pablovela5620 Apr 4, 2023
1946683
Fix log_obb usage (#1761)
emilk Apr 4, 2023
9c1babe
Python SDK: document that we also accept colors in 0-1 floats (#1740)
emilk Apr 4, 2023
7892098
Collapse space-view by default if there is only one child (#1762)
emilk Apr 4, 2023
1713e60
Always create the log_time timeline (#1763)
jleibs Apr 4, 2023
9310bd7
Columnar timepoints in data tables and during transport (#1767)
teh-cmc Apr 4, 2023
6c383c3
Fix undo/redo selection shortcut/action changing selection history wi…
Wumpf Apr 4, 2023
b9f1380
Don't initialize an SDK session if we are only going to be launching …
jleibs Apr 4, 2023
679e245
Allow torch tensors for log_rigid3 (#1769)
jleibs Apr 4, 2023
409dcd8
Option to show scene bounding box (#1770)
emilk Apr 4, 2023
5b590bb
Fix a whole lot of crashes, all at once (#1780)
emilk Apr 5, 2023
260c532
Add typing_extensions to requirements-doc.txt (#1786)
jleibs Apr 5, 2023
83cd229
auto_color class-ids if they are present (#1783)
jleibs Apr 5, 2023
a4f59b2
Don't run 3rd party bench suites on CI (#1787)
teh-cmc Apr 6, 2023
d6cce1c
Use copilot markers in PR template (#1784)
emilk Apr 6, 2023
3be747c
re_format: barebone support for custom formatting (#1776)
teh-cmc Apr 6, 2023
aedf1c0
Always send recording_id as part of LogMsg (#1778)
jleibs Apr 6, 2023
ab26a73
Refactor: Add new helper crate `re_log_encoding` (#1772)
emilk Apr 6, 2023
8ab1155
New example code for facebook research segment anything (#1788)
jleibs Apr 6, 2023
880cf8e
Implement `re_tuid::Tuid::random()` on web (#1796)
emilk Apr 8, 2023
e3f572f
ci: fix benchmarks (#1799)
teh-cmc Apr 8, 2023
49e260a
Add `minimal_options` example (`RerunArgs`) (#1773)
h3mosphere Apr 10, 2023
5c7f527
Add `pacman` support to `setup_web.sh` (#1797)
urholaukkarinen Apr 10, 2023
49d5de8
fix ci (cargo-deny): cargo update -p crossbeam-channel (#1806)
teh-cmc Apr 10, 2023
d852534
Compile with `panic = "abort"` (#1813)
emilk Apr 11, 2023
7d4514e
Add `rerun --strict`: crash if any warning or error is logged (#1812)
emilk Apr 11, 2023
c254e2f
Refactor: Remove `TensorTrait` (#1819)
emilk Apr 11, 2023
5da248d
End-to-end testing of python logging -> store ingestion (#1817)
emilk Apr 12, 2023
c472b07
Fix e2e test on CI: Don't try to re-build rerun-sdk (#1821)
emilk Apr 12, 2023
f7cdc66
Use gpu picking for points, streamline/share picking code some more (…
Wumpf Apr 12, 2023
fef1eda
CI: install pip requirements for Python e2e test
emilk Apr 12, 2023
43befc2
Process 2d points always in batches (#1820)
Wumpf Apr 12, 2023
48fda31
Fix CI syntax error
emilk Apr 12, 2023
668e56d
New option to disable persistent storage (#1825)
jleibs Apr 12, 2023
dd6f03e
New API to reset_time (#1826)
jleibs Apr 12, 2023
8b0aa2e
Datastore revamp 1: new indexing model & core datastructures (#1727)
teh-cmc Apr 12, 2023
893138b
Datastore revamp 2: serialization & formatting (#1735)
teh-cmc Apr 12, 2023
698e51b
Datastore revamp 3: efficient incremental stats (#1739)
teh-cmc Apr 12, 2023
6bd5323
Datastore revamp 4: sunset `MsgId` (#1785)
teh-cmc Apr 12, 2023
72de79e
Datastore revamp 5: (#1791)
teh-cmc Apr 12, 2023
b7bbe10
Datastore revamp 6: sunset `LogMsg` storage + save store to disk (#1795)
teh-cmc Apr 12, 2023
d2d83d7
Datastore revamp 7: garbage collection (#1801)
teh-cmc Apr 12, 2023
c181adf
Don't assert if inserting a rowid with a matching timepoint does not …
jleibs Apr 12, 2023
0f6e268
CI: Try installing the correct wheel on CI
emilk Apr 12, 2023
6bec48e
CI: try again with the CI
emilk Apr 12, 2023
1e2515c
re_query: up to date with latest data types and structures (#1828)
teh-cmc Apr 12, 2023
925f531
datastore: incremental metadata registry stats (#1833)
teh-cmc Apr 13, 2023
cb95f5e
RFC: datastore state of the union & end-to-end batching (#1610)
teh-cmc Apr 13, 2023
fd870f0
Python CI: use bash as shell
emilk Apr 13, 2023
9716235
Fix too many points crash (#1822)
Wumpf Apr 13, 2023
780fe1c
Use GPU picking for line(like) primitives, fix `interactive` flags (#…
Wumpf Apr 13, 2023
8ce2c89
CI: try to fix mac wheel build
emilk Apr 13, 2023
4ef2c07
Reduce memory used by staging belts on Web (#1836)
Wumpf Apr 13, 2023
24f22dc
CI: only test the x86_64 wheel on macos
emilk Apr 13, 2023
48d4f28
Always flush when we remove a sink (#1830)
jleibs Apr 13, 2023
437fe2b
GPU colormapping, first step (#1835)
emilk Apr 13, 2023
1211ef4
Test and handle all tensor dtypes as images (#1840)
emilk Apr 13, 2023
e8e2d9b
Install the rerun-sdk in CI using --no-index and split out linux whee…
jleibs Apr 14, 2023
fe7ac0e
GPU tensor colormapping (#1841)
emilk Apr 14, 2023
beffbc3
Show previews of colormaps when selecting them (#1846)
emilk Apr 14, 2023
d33dab6
Implement billinear filtering of textures (#1850)
emilk Apr 14, 2023
3cd534f
MVP Support for inline-rendering of Rerun within jupyter notebooks (#…
jleibs Apr 14, 2023
5dc9b61
Disable wheel tests for x86_64-apple-darwin (#1853)
jleibs Apr 14, 2023
13c96bb
Fix typos in notebook readme (#1852)
jleibs Apr 14, 2023
b4190d8
Fix the python build when running without web_viewer enabled (#1856)
jleibs Apr 14, 2023
666c0c6
Error instead of expect inside msg_encode. (#1857)
jleibs Apr 14, 2023
8d25b9e
Restore: New API to reset_time (#1826) (#1854)
jleibs Apr 14, 2023
625d2bd
Revert "Implement billinear filtering of textures (#1850)" (#1859)
jleibs Apr 14, 2023
c3a13db
Add Restart command and keyboard shortcut for moving time to start of…
h3mosphere Apr 15, 2023
69bf801
Fix shutdown race condition in `re_sdk_comms` client (#1861)
emilk Apr 15, 2023
7533ed2
Remove unused dependencies (#1863)
emilk Apr 15, 2023
43aa22c
Gpu picking for depth clouds (#1849)
Wumpf Apr 16, 2023
63f19e7
Remove manual depth projection from car and nyud examples (#1869)
emilk Apr 17, 2023
87906dc
Improve end-to-end testing slightly (#1862)
emilk Apr 17, 2023
adf9856
Re-enable bilinear interpolation again (#1860)
emilk Apr 17, 2023
c7f5cb6
Use GPU colormapping when showing images in the GUI (#1865)
emilk Apr 17, 2023
f35efec
Turn off benchmakrs comment on each PR (#1872)
emilk Apr 17, 2023
ccc20c2
Refactor: remove `GpuTexture2DHandle::invalid` (#1866)
emilk Apr 17, 2023
138165a
Update enumflags2 to non-yanked version (#1874)
emilk Apr 17, 2023
715f6bc
[notebook] Make presentation_id consistent and use data-attribute for…
jleibs Apr 17, 2023
1ddb2d3
Fix filtering artifact for non-color images (#1886)
emilk Apr 18, 2023
36e21d6
Fix broken instance picking in presence of images (#1876)
Wumpf Apr 18, 2023
a1289fa
Remember to decode JPEGs (#1884)
emilk Apr 18, 2023
3623932
Fix double-negation in scripts/run_python_e2e_test.py (#1896)
emilk Apr 18, 2023
937204c
Refactor: Add helper functions to GpuTexture2DHandle (#1900)
emilk Apr 18, 2023
71abeab
Fix crash in save-to-file (#1909)
teh-cmc Apr 18, 2023
705a0c0
Improve PR template with better comment, and no copilot per default (…
emilk Apr 18, 2023
26fd6c2
expose depth config, get available sensor resolutions for the selecte…
zrezke Apr 18, 2023
31cbf72
move removing entities to a place where the removal will always be tr…
zrezke Apr 18, 2023
fbed2fc
added depth alignment
zrezke Apr 18, 2023
4b52dc7
Don't clean up LogDbs that only contain a BeginRecordingMsg (#1914)
teh-cmc Apr 18, 2023
26ac168
Optimize generate_changelog.py (#1912)
emilk Apr 18, 2023
e3b09af
Update docs related to notebook (#1915)
jleibs Apr 18, 2023
6127e02
Fix double clicking camera no longer focusing on said camera (#1911)
Wumpf Apr 19, 2023
0de0edf
Fix picking entities with image + another object (or label) twice (#1…
Wumpf Apr 19, 2023
c31064e
added stream enabled buttons
zrezke Apr 19, 2023
df9b4cb
Merge branch 'main' of github.com:rerun-io/rerun into develop
zrezke Apr 19, 2023
be58f9a
Depth cloud textures are now cached frame-to-frame (#1913)
Wumpf Apr 19, 2023
3d99dca
fixes after merging
zrezke Apr 19, 2023
2316076
Smooth out scroll wheel input for camera zooming (#1920)
Wumpf Apr 19, 2023
fce9cf4
Always spawn instead of fork in multiprocessing example (#1922)
jleibs Apr 19, 2023
207a283
Add `--num-frames` arg to canny (webcam) example (#1923)
teh-cmc Apr 19, 2023
69d2986
fix formatting issues
zrezke Apr 19, 2023
77bbed6
rerun format fix
zrezke Apr 19, 2023
10e7b2b
fix spelling
zrezke Apr 19, 2023
f295dfc
lint check fixes
zrezke Apr 19, 2023
8921ede
mypy
zrezke Apr 19, 2023
0fae7fa
some more lint fixes
zrezke Apr 19, 2023
5d5b96d
some more fixes for python lint checks
zrezke Apr 19, 2023
61d905d
Collect extra egui features into the main Cargo.toml (#1926)
emilk Apr 19, 2023
b14087b
just rs-run-all
teh-cmc Apr 19, 2023
42a5ba2
`just py-run-all-{native|web|rrd}` (#1927)
teh-cmc Apr 19, 2023
677bbc8
bump version
zrezke Apr 19, 2023
2296ed5
comment out clang
zrezke Apr 19, 2023
3f08dae
Join threads at end of multi-threading example (#1934)
jleibs Apr 19, 2023
5ae7480
Add argument parsing to the rerun_demo (#1925)
jleibs Apr 19, 2023
b310010
More robust wait for exit condition during .serve() (#1939)
jleibs Apr 20, 2023
a7ddf49
Use zipfile python library instead of `unzip` command in arkitscene (…
Wumpf Apr 20, 2023
afd87b6
Fix annotation images sometimes drawn in the background. (#1933)
Wumpf Apr 20, 2023
ee9a947
Fix backslashes in arkitscene rigid transformation path (#1938)
Wumpf Apr 20, 2023
f940fc4
Fix hover/select highlights when picking single points in a scene wit…
Wumpf Apr 20, 2023
0a1d686
Fix hovering depth clouds (#1943)
Wumpf Apr 20, 2023
8ef5550
change python workflow for testing purposes, remove windows and macos…
zrezke Apr 20, 2023
7b98d64
add back one macos so the matrix is valid
zrezke Apr 20, 2023
698540b
2.5GB before GC kick in on web (#1944)
teh-cmc Apr 20, 2023
82fce98
change name to depthai-viewer
zrezke Apr 20, 2023
a50adda
change pip install/uninstalls from rerun-sdk to depthai-viewer
zrezke Apr 20, 2023
4942da5
change all occurances of rerun-sdk to depthai-viewer
zrezke Apr 20, 2023
fbb53d9
change windows runner to windows-latest for now when using my persona…
zrezke Apr 20, 2023
0116c50
Release `0.5.0` (#1919)
teh-cmc Apr 20, 2023
5464ad3
Fix imu plots scrolling past their container
zrezke Apr 20, 2023
cb05c3a
fix bottom/top panel sizing after showing the spinner on config setting
zrezke Apr 20, 2023
f5e0e4d
Lint error names in `map_err` (#1948)
emilk Apr 20, 2023
c583711
fix config and stats tabs not being able to be viewed at the same tim…
zrezke Apr 20, 2023
bbf4a26
New dispatch-only workflow for running the lint-job (#1950)
jleibs Apr 20, 2023
4848f98
Fix secret in dispatch_lint.yml
jleibs Apr 20, 2023
98f7de3
Only maintain a single manual-dispatch job for testing workflows
jleibs Apr 20, 2023
0dad808
apply button, have to make it look a bit nicer, but will do that when…
zrezke Apr 20, 2023
8bbb3f4
Bump hyper version due to RUSTSEC-2023-0034 (#1951)
jleibs Apr 20, 2023
dbdf275
Add other build parameterizations to manual_dispatch.yml
jleibs Apr 20, 2023
9ad6201
Use proper if gates on the manual_dispatch.yml jobs
jleibs Apr 20, 2023
5c61b37
Add ability to save cache to manual_disaptch.yml
jleibs Apr 20, 2023
2729c71
Standard case of inputs
jleibs Apr 21, 2023
a3178e6
Add manual step for packaging to 'manual_dispatch.yml'
jleibs Apr 21, 2023
f9fbfc6
add back panels when the underlying subscription reappears
zrezke Apr 21, 2023
593a34b
Fix crash for missing class ids causing zero sized texture (#1947)
Wumpf Apr 21, 2023
fac6f04
fixes LR stream subscriptions (maybe breaks panels reappearing after …
zrezke Apr 21, 2023
f70b85c
make config ui scrollable, fix padding
zrezke Apr 21, 2023
858f86d
Move clippy_wasm/clippy.toml to under scripts (#1949)
emilk Apr 21, 2023
8bc6712
change crate version to 0.6.0-alpha.0 (#1952)
Wumpf Apr 21, 2023
3bc2cb7
New workflow_dispatch for building wheels for a PR
jleibs Apr 22, 2023
c03ed12
initial light mode, luxonis depthai viewer
zrezke Apr 24, 2023
778c4d3
Rename build_wheels_for_pr.yml -> manual_build_wheels_for_pr.yml
jleibs Apr 25, 2023
f0fdcf3
Fix run-wasm crash on trying to wait for server (#1959)
Wumpf Apr 25, 2023
eef4758
Update egui to latest and wgpu to 0.16 (#1958)
Wumpf Apr 25, 2023
ad46760
Handle leaking of prerelease into alpha version (#1953)
jleibs Apr 25, 2023
5283ce7
Make device config panel remember it's height throughout loading
zrezke Apr 25, 2023
8fa6f23
hide time panel, make ai model dropdown wider
zrezke Apr 25, 2023
049cfaa
Fix incorrect memory usage stats for destroyed on-creation-mapped buf…
Wumpf Apr 25, 2023
840a127
New manual workflow for running benches
jleibs Apr 25, 2023
7eaf158
Introduce new reusable workflow jobs and cleanup manual trigger (#1954)
jleibs Apr 25, 2023
01080d6
New manual workflow for adhoc web builds
jleibs Apr 25, 2023
ff436d8
Use new CI workflows for pull-request and merge to main (#1955)
jleibs Apr 25, 2023
bf5f633
Fix name of on_push_main.yml
jleibs Apr 25, 2023
579ce91
Fix usage of long commit in generate_prerelease_pip_index.py
jleibs Apr 26, 2023
d686ca2
Try making pull-request workflows non-concurrent (#1970)
jleibs Apr 26, 2023
e4814bc
Another attempt to make jobs non-concurrent on a per-PR basis (#1974)
jleibs Apr 26, 2023
0ad1998
Jobs with duplicated instances still need separate concurrency keys b…
jleibs Apr 26, 2023
f8d8e90
Round to nearest color_index when doing color mapping (#1969)
jleibs Apr 26, 2023
8f03908
Full (experimental) WebGPU support (#1965)
Wumpf Apr 26, 2023
193ead3
move backend to rerun
zrezke Apr 26, 2023
95891e4
If there's a `{{ pr-build-summary }}` in the PR description, update i…
jleibs Apr 26, 2023
174f3ff
Run the cube notebook on PR (#1972)
jleibs Apr 26, 2023
beeaf4c
reformat py files
zrezke Apr 26, 2023
c84154e
Merge pull request #16 from zrezke/ui-ux-fixes-before-release
zrezke Apr 26, 2023
4bb5935
reformat
zrezke Apr 26, 2023
e331e35
Merge pull request #17 from zrezke/ui-ux-fixes-before-release
zrezke Apr 26, 2023
468989e
fix pylint errors
zrezke Apr 26, 2023
1082a90
Merge pull request #18 from zrezke/ui-ux-fixes-before-release
zrezke Apr 26, 2023
d6be388
Add ability to manually run a web build to upload to an adhoc name (#…
jleibs Apr 26, 2023
117829a
Merge branch 'main' of github.com:rerun-io/rerun into ui-ux-fixes-bef…
zrezke Apr 26, 2023
f80ed70
change entity paths
zrezke Apr 26, 2023
ac2ecfe
merged wip albedo colormap into latest depth_cloud
zrezke Apr 26, 2023
b2dc159
Merge pull request #19 from zrezke/try-to-merge-color-depthclouds
zrezke Apr 26, 2023
72c9a1f
remove pointclouds generated in sdk
zrezke Apr 26, 2023
746fb21
fix compiler error, trying to compile frame.close for wasm
zrezke Apr 28, 2023
96f8ee4
Merge branch 'develop' of github.com:zrezke/rerun into ui-ux-fixes-be…
zrezke Apr 30, 2023
bedac5e
Default to albedo texture for depth cloud, added support for mono alb…
zrezke Apr 30, 2023
e30f766
restart backend on failure, added oak_cam.device.close seems to reall…
zrezke May 3, 2023
0bf9f28
py lint fix
zrezke May 3, 2023
8c4aea5
don't run notebooks
zrezke May 3, 2023
180bec9
remove run-notebook dependency
zrezke May 3, 2023
7c7fc7a
Merge pull request #20 from zrezke/ui-ux-fixes-before-release
zrezke May 3, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,17 @@ run-wasm = "run --release --package run_wasm --"
IS_IN_RERUN_WORKSPACE = "yes"


[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = [
"-C",
"link-arg=-fuse-ld=/usr/bin/mold",
"-C",
"split-debuginfo=unpacked",
]
# [target.x86_64-unknown-linux-gnu]
# linker = "clang"
# rustflags = [
# "-C",
# "link-arg=-fuse-ld=/usr/bin/mold",
# "-C",
# "split-debuginfo=unpacked",
# ]
# web_sys_unstable_apis is required to enable the web_sys clipboard API which egui_web uses,
# https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html
# as well as WebGPU apis.
# https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html
[target.wasm32-unknown-unknown]
rustflags = ["--cfg=web_sys_unstable_apis"]
29 changes: 17 additions & 12 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
### WHAT
copilot:summary
<!--
Open the PR up as a draft until you feel it is ready for a proper review.

### WHY
<!-- author to complete -->
Do not make PR:s from your own `main` branch, as that makes it difficult for reviewers to add their own fixes.

### HOW
copilot:walkthrough
Add any improvements to the branch as new commits to make it easier for reviewers to follow the progress. All commits will be squashed to a single commit once the PR is merged into `main`.

### Checklist
* [ ] 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)
* [ ] I've included a screenshot or gif (if applicable)
Make sure you mention any issues that this PR closes in the description, as well as any other related issues.

<!--
Add any improvements to the branch as new commits to make it easier for reviewers to follow the progress. All commits will be squashed to a single commit once the PR is merged into `main`.
To get an auto-generated PR description you can put "copilot:summary" or "copilot:walkthrough" anywhere.
-->

### What

### Checklist

- [ ] 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)
- [ ] I've included a screenshot or gif (if applicable)

<!-- This line will get updated when the PR build summary job finishes. -->

PR Build Summary: {{ pr-build-summary }}
66 changes: 66 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Overview

Our CI workflows make heavy usage of [Reusable Workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows). These reusable workflows can then be tested manually via the `manual_dispatch.yml` workflow.
Or integrated into CI jobs such has `on_pull_request.yml` or `on_main.yml`.

By convention:
- All reusable workflows start with the `reusable_` prefix.
- All workflows that are triggered via `workflow_dispatch` start with the `manual_` prefix.
- All workflows that are triggered via an event start with the `on_` prefix.
- `on_pull_request` is triggered on pull requests.
- `on_push_main` is triggered on pushes to the main branch.

If you are going to be doing any editing of workflows, the
[VS Code extension](https://marketplace.visualstudio.com/items?itemName=cschleiden.vscode-github-actions)
for GitHub Actions is highly recommended.

## Reusable Workflows
- [reusable_checks.yml](reusable_checks.yml) - These are all the checks that run to ensure the code is formatted,
linted, and tested. This job produces no artifacts other than a pass/fail criteria for the build.
- `SAVE_CACHE` - If true, the rust cache will be saved. Generally we only do this for builds on `main`
- [reusable_bench.yml](reusable_bench.yml) - This job runs the benchmarks to check for performance regressions.
- `SAVE_BENCH` - If true, then the benchmark results are saved to update https://ref.rerun.io/dev/bench/
- [reusable_deploy_docs](reusable_deploy_docs.yml) - This job deploys the python and rust documentation to https://ref.rerun.io
- `PY_DOCS_VERSION_NAME` - The name to use for versioning the python docs. This should generally match the version in
`Cargo.toml`.
- `UPDATE_LATEST` - If true, then the docs will be deployed to `latest/` as well as the versioned directory.
- [reusable_build_and_test_wheels.yml](reusable_build_and_test_wheels.yml) - This job builds the wheels, runs the
end-to-end test, and produces a sample RRD. The artifacts are accessible via GitHub artifacts, but not otherwise
uploaded anywhere.
- `MATURIN_FEATURE_FLAGS` - The feature flags to pass to maturin.
- `PLATFORM` - Which platform to build for: `linux`, `macos-arm`, `macos-intel`, or `windows`.
- `RELEASE_VERSION` - If producing a release, the version number. This must match the version in `Cargo.toml`.
- `RRD_ARTIFACT_NAME` - Intermediate name of the GitHub rrd artifact for passing to `reusable_upload_wheels.yml`
- `SAVE_CACHE` - If true, the rust cache will be saved. Generally we only do this for builds on `main`
- `WHEEL_ARTIFACT_NAME` - Intermediate name of the GitHub wheel artifact for passing to `reusable_upload_wheels.yml`
- [reusable_upload_wheels.yml](reusable_upload_wheels.yml) - This job uploads the wheels to google cloud
- `RRD_ARTIFACT_NAME` - Intermediate name of the GitHub rrd artifact. This should match the name passed to
`reusable_build_and_test_wheels.yml`
- `WHEEL_ARTIFACT_NAME` - Intermediate name of the GitHub wheel artifact. This should match the name passed to
`reusable_build_and_test_wheels.yml`
- [reusable_build_web.yml](reusable_build_web.yml) - This job builds the wasm artifacts for the web.
- `RELEASE_VERSION` - If producing a release, the version number. This must match the version in `Cargo.toml`.
- [reusable_upload_web.yml](reusable_upload_web.yml) - This job uploads the web assets to google cloud. By default this
only uploads to: `app.rerun.io/commit/<commit>/`
- `MARK_PRERELEASE_FOR_MAINLINE` - If true, then the web assets will go to `app.rerun.io/preleease/
- `MARK_TAGGED_VERSION` - If true, then the web assets will go to `app.rerun.io/version/<RELEASE_VERSION>`
- `RELEASE_VERSION` - If producing a release, the version number.
- `RRD_ARTIFACT_NAME` - Intermediate name of the GitHub rrd artifact. This should match the name passed to
`reusable_build_and_test_wheels.yml`
- `UPLOAD_COMMIT_OVERRIDE` - If set, will replace the value of `<commit>`. This is necessary because we want pull
request builds associated with their originating commit, even if the web-build happens on an ephemeral merge-commit.
- [reusable_pr_summary.yml](reusable_pr_summary.yml) - This job updates the PR summary with the results of the CI run.
- This summary can be found at:
`https://build.rerun.io/pr/<PR_NUMBER>/`
- `PR_NUMBER` - The PR number to update. This will generally be set by the `on_pull_request.yml` workflow using:
`${{github.event.pull_request.number}}`

## Manual Workflows
- [manual_dispatch](manual_dispatch.yml) - This workflow is used to manually trigger the assorted reusable workflows for
testing.
- See the workflow file for the list of parameters.
- [manual_build_wheels_for_pr.yml](manual_build_wheels_for_pr.yml) - This workflow can be dispatched on a branch and
will build all of the wheels for the associated pull-request. Uses:
- [reusable_build_and_test_wheels.yml](reusable_build_and_test_wheels.yml)
- [reusable_upload_wheels.yml](reusable_upload_wheels.yml)
- [reusable_pr_summary.yml](reusable_pr_summary.yml)
48 changes: 48 additions & 0 deletions .github/workflows/manual_adhoc_web.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Run an adhoc web build

on:
workflow_dispatch:
inputs:
EXTRA_FLAGS:
type: string
description: 'Extra flags to pass to `re_build_web_viewer`'
required: false
default: ''
ADHOC_NAME:
type: string
description: 'Name of the stored adhoc build'
required: true

jobs:

min-test-wheel:
name: 'Minimum Test Wheel'
# The upload-web job uses the min-test-wheel to get the RRD
uses: ./.github/workflows/reusable_build_and_test_wheels.yml
with:
CONCURRENCY: adhoc-web-${{ github.event.inputs.ADHOC_NAME }}
PLATFORM: linux
MATURIN_FEATURE_FLAGS: '--no-default-features --features extension-module'
WHEEL_ARTIFACT_NAME: ''
RRD_ARTIFACT_NAME: linux-rrd-fast
secrets: inherit

build-web-adhoc:
name: 'Build Web'
uses: ./.github/workflows/reusable_build_web.yml
with:
CONCURRENCY: adhoc-web-${{ github.event.inputs.ADHOC_NAME }}
EXTRA_FLAGS: ${{ github.event.inputs.EXTRA_FLAGS }}
secrets: inherit

upload-web:
name: 'Upload Web'
needs: [min-test-wheel, build-web-adhoc]
uses: ./.github/workflows/reusable_upload_web.yml
with:
CONCURRENCY: adhoc-web-${{ github.event.inputs.ADHOC_NAME }}
MARK_PRERELEASE_FOR_MAINLINE: false
MARK_TAGGED_VERSION: false
ADHOC_NAME: ${{ github.event.inputs.ADHOC_NAME }}
RRD_ARTIFACT_NAME: linux-rrd-fast
secrets: inherit
129 changes: 129 additions & 0 deletions .github/workflows/manual_build_wheels_for_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: Build and Upload Wheels for PR

on:
workflow_dispatch:

jobs:

check-for-pr:
runs-on: ubuntu-latest
outputs:
PR_NUMBER: ${{ steps.get_pr.outputs.PR_NUMBER }}
steps:
- name: Check if commit belongs to a PR
id: get_pr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pr_number=$(curl --silent --header "Authorization: Bearer ${GITHUB_TOKEN}" \
--url "https://api.github.com/repos/${GITHUB_REPOSITORY}/commits/${GITHUB_SHA}/pulls" \
| jq '.[] | .number')

if [ -z "$pr_number" ]; then
echo "No PR associated with this commit"
exit 1
else
echo "Commit is associated with PR: $pr_number"
echo "PR_NUMBER=$pr_number" >> "$GITHUB_OUTPUT"
fi

build-linux:
needs: [check-for-pr]
name: 'Linux: Build/Test Wheels'
uses: ./.github/workflows/reusable_build_and_test_wheels.yml
with:
CONCURRENCY: manual-wheels-linux-${{ needs.check-for-pr.outputs.PR_NUMBER }}
PLATFORM: linux
WHEEL_ARTIFACT_NAME: linux-wheel
RRD_ARTIFACT_NAME: linux-rrd
secrets: inherit

build-windows:
needs: [check-for-pr]
name: 'Windows: Build/Test Wheels'
uses: ./.github/workflows/reusable_build_and_test_wheels.yml
with:
CONCURRENCY: manual-wheels-windows-${{ needs.check-for-pr.outputs.PR_NUMBER }}
PLATFORM: windows
WHEEL_ARTIFACT_NAME: windows-wheel
RRD_ARTIFACT_NAME: ''
secrets: inherit

build-macos-arm:
needs: [check-for-pr]
name: 'Macos-Arm: Build/Test Wheels'
uses: ./.github/workflows/reusable_build_and_test_wheels.yml
with:
CONCURRENCY: manual-wheels-macos-arm-${{ needs.check-for-pr.outputs.PR_NUMBER }}
PLATFORM: macos-arm
WHEEL_ARTIFACT_NAME: macos-arm-wheel
RRD_ARTIFACT_NAME: ''
secrets: inherit

build-macos-intel:
needs: [check-for-pr]
name: 'Macos-Intel: Build/Test Wheels'
uses: ./.github/workflows/reusable_build_and_test_wheels.yml
with:
CONCURRENCY: manual-wheels-macos-intel-${{ needs.check-for-pr.outputs.PR_NUMBER }}
PLATFORM: macos-intel
WHEEL_ARTIFACT_NAME: 'macos-intel-wheel'
RRD_ARTIFACT_NAME: ''
secrets: inherit

upload-wheels-linux:
name: 'Linux: Upload Wheels'
needs: [build-linux]
uses: ./.github/workflows/reusable_upload_wheels.yml
with:
CONCURRENCY: manual-wheels-linux-${{ needs.check-for-pr.outputs.PR_NUMBER }}
WHEEL_ARTIFACT_NAME: linux-wheel
RRD_ARTIFACT_NAME: linux-rrd
secrets: inherit

upload-wheels-windows:
name: 'Windows: Upload Wheels'
needs: [build-linux, build-windows]
uses: ./.github/workflows/reusable_upload_wheels.yml
with:
CONCURRENCY: manual-wheels-windows-${{ needs.check-for-pr.outputs.PR_NUMBER }}
WHEEL_ARTIFACT_NAME: windows-wheel
RRD_ARTIFACT_NAME: linux-rrd
secrets: inherit

upload-wheels-macos-arm:
name: 'Macos-Arm: Upload Wheels'
needs: [build-linux, build-macos-arm]
uses: ./.github/workflows/reusable_upload_wheels.yml
with:
CONCURRENCY: manual-wheels--macos-arm-${{ needs.check-for-pr.outputs.PR_NUMBER }}
WHEEL_ARTIFACT_NAME: macos-arm-wheel
RRD_ARTIFACT_NAME: linux-rrd
secrets: inherit

upload-wheels-macos-intel:
name: 'Macos-Intel: Upload Wheels'
needs: [build-linux, build-macos-intel]
uses: ./.github/workflows/reusable_upload_wheels.yml
with:
CONCURRENCY: manual-wheels-macos-intel-${{ needs.check-for-pr.outputs.PR_NUMBER }}
WHEEL_ARTIFACT_NAME: macos-intel-wheel
RRD_ARTIFACT_NAME: linux-rrd
secrets: inherit

generate-wheel-index:
name: 'Generate Pip Index'
needs: [check-for-pr, upload-wheels-linux, upload-wheels-windows, upload-wheels-macos-arm, upload-wheels-macos-intel]
uses: ./.github/workflows/reusable_pip_index.yml
with:
CONCURRENCY: manual-wheels-${{ needs.check-for-pr.outputs.PR_NUMBER }}
secrets: inherit

update-pr-summary:
name: 'Update PR Summary'
needs: [check-for-pr, upload-wheels-linux, upload-wheels-windows, upload-wheels-macos-arm, upload-wheels-macos-intel]
uses: ./.github/workflows/reusable_pr_summary.yml
with:
CONCURRENCY: manual-wheels-${{ needs.check-for-pr.outputs.PR_NUMBER }}
PR_NUMBER: ${{ needs.check-for-pr.outputs.PR_NUMBER}}
secrets: inherit
Loading