Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
242 commits
Select commit Hold shift + click to select a range
28fe439
First POC: setting up uv tasks
jleibs Dec 11, 2025
76932a0
Fix python linting
jleibs Dec 11, 2025
bc94715
Fix the formatting scripts
jleibs Dec 11, 2025
32d5906
notebook won't install if deps haven't been built pre-uv
jleibs Dec 11, 2025
8cdfe08
More CI fixes
jleibs Dec 11, 2025
2608ce2
We want uv to use the same python version as pixi
jleibs Dec 11, 2025
bc559f1
More package deps
jleibs Dec 11, 2025
014f663
Fix snapshots
jleibs Dec 11, 2025
a758271
Install built wheels in the uv environment
jleibs Dec 11, 2025
43451dd
More churn on CI
jleibs Dec 11, 2025
c580be0
Make the e2e tests do the right thing
jleibs Dec 11, 2025
7109a91
Try to get examples building
jleibs Dec 11, 2025
0364d4f
More lint cleanup
jleibs Dec 11, 2025
f89b4e0
Fix toml formatting
jleibs Dec 11, 2025
c674d7a
Fix windows activation
jleibs Dec 11, 2025
55171a1
Fix notebooks
jleibs Dec 12, 2025
0dc345b
Jump through hoops to make `uv pip install` fail if it's not done via…
jleibs Dec 12, 2025
a6d15df
Use uv workspace to install examples
jleibs Dec 12, 2025
e921306
Replace our pip usage with uv sync
jleibs Dec 12, 2025
4a2b713
Add --isntall to our build-examples invocations
jleibs Dec 12, 2025
154d6a8
Includde the opentelemetry dep to avoid future suffering
jleibs Dec 12, 2025
ea5cb4b
Build and upload wheels needs to set the new env var
jleibs Dec 12, 2025
ac4ace4
Cleanup the pixi environment
jleibs Dec 12, 2025
93b2e13
Set env without clobbering pixi path hackery
jleibs Dec 12, 2025
4e1f3c2
Deps works
jleibs Dec 12, 2025
c3f77fb
Update lock
jleibs Dec 12, 2025
72d0000
Install snippet deps
jleibs Dec 12, 2025
3d9757b
Removing references to wheel-test-min
jleibs Dec 12, 2025
e271519
More fall-out from human_pose_tracking
jleibs Dec 12, 2025
50cfc10
toml format
jleibs Dec 12, 2025
458570b
Fix thumbnails check
jleibs Dec 12, 2025
3922ad0
Fix manifest
jleibs Dec 12, 2025
5fcca01
Restore rich
jleibs Dec 12, 2025
993c607
Explicitly require protobuf
jleibs Dec 12, 2025
121af3c
Try to fix protobuf again
jleibs Dec 12, 2025
9672bb6
doc cleanup
jleibs Dec 12, 2025
d472d91
Used the wrong protobuf dep
jleibs Dec 12, 2025
9384f5f
Stop referencing eliminated wheel-test environments
jleibs Dec 12, 2025
aec2812
Fix docs AND docs-generation
jleibs Dec 12, 2025
8e1faaf
Remove accidentally committed file
jleibs Dec 12, 2025
badbb23
Fix my favorite lint…
jleibs Dec 12, 2025
b1192b1
Fix the e2e tests
jleibs Dec 12, 2025
f732aaf
Fix release checklist
jleibs Dec 12, 2025
b252036
We need hatch to create the notebook wheels
jleibs Dec 12, 2025
db18094
Fix one more compare_snippet_output
jleibs Dec 12, 2025
dab6cee
Hatch needs the jupyter-builder
jleibs Dec 12, 2025
c147781
Snippet test needs to sync the python dependencies
jleibs Dec 12, 2025
d274b8d
Missed a wheel-test
jleibs Dec 12, 2025
b271ce7
We need the rerun-notebook wheel to build the examples
jleibs Dec 12, 2025
a54b06d
Merge branch 'main' into jleibs/python-uv-workflows
jleibs Dec 12, 2025
3beaaf3
Lock pillow < 11
jleibs Dec 12, 2025
c3b9bbe
Use a package installed in the uv environment to fixup the rerun path
jleibs Dec 13, 2025
bc60856
Detect isolated uv build environments more directly
jleibs Dec 13, 2025
7032cce
Merge main
jleibs Dec 19, 2025
fa34531
Small cleanups from PR
jleibs Dec 19, 2025
c97521f
Fix lint that wasn't running before
jleibs Dec 19, 2025
33bbb3f
Fix more lints
jleibs Dec 19, 2025
cc835ec
More lints uncovered by running linter with the example deps installed
jleibs Dec 19, 2025
e0bba79
Codegen
jleibs Dec 19, 2025
31647a9
And code format
jleibs Dec 19, 2025
d94db15
Stupid typos and rust linting
jleibs Dec 19, 2025
69e916b
recompose: P01 foundation complete
jleibs Dec 13, 2025
ad158a4
recompose: P02 CLI generation complete
jleibs Dec 13, 2025
5b6685c
recompose: Add py.typed marker for mypy compatibility
jleibs Dec 13, 2025
8772b57
recompose: P03 subprocess helpers complete
jleibs Dec 13, 2025
36d0f2d
recompose: P04 member tasks complete
jleibs Dec 13, 2025
109ffb4
recompose: P05a sequential flows complete
jleibs Dec 13, 2025
70cb025
recompose: Auto fail-fast in flows
jleibs Dec 13, 2025
df25094
recompose: Add sleeps to flow_demo for realistic timing
jleibs Dec 13, 2025
9094253
recompose: P05b declarative flows design
jleibs Dec 13, 2025
c0cd714
recompose: P05b declarative flows complete
jleibs Dec 13, 2025
a31a050
recompose: Remove imperative flow support, declarative only
jleibs Dec 13, 2025
03f0f3e
recompose: Fix flow examples to have proper dependencies
jleibs Dec 13, 2025
16a9496
recompose: Add proper typing for TaskWrapper and FlowWrapper
jleibs Dec 13, 2025
b2be378
recompose: Fix all mypy type errors
jleibs Dec 13, 2025
869ac02
recompose: Simplify flows to return None
jleibs Dec 13, 2025
a9d6ab0
recompose: Add inspect command to CLI
jleibs Dec 13, 2025
11a4960
recompose: Add subprocess isolation for flow tasks (P05d)
jleibs Dec 14, 2025
c49c8d5
recompose: Make subprocess isolation the default for flows
jleibs Dec 14, 2025
6031bfb
recompose: Add GHA workflow generation (P06 Phase 1)
jleibs Dec 14, 2025
6dfed27
recompose: Update WORK.md for P06 Phase 1 completion
jleibs Dec 14, 2025
a7b4487
recompose: Add GHA setup actions (P06 Phase 2)
jleibs Dec 14, 2025
5a43412
recompose: Update WORK.md for P06 Phase 2 completion
jleibs Dec 14, 2025
fe3f477
recompose: Add automations for flow orchestration (P06 Phase 3)
jleibs Dec 14, 2025
20484e6
recompose: Update WORK.md - P06 complete
jleibs Dec 14, 2025
dc551b9
recompose: Fix ruff linting errors
jleibs Dec 14, 2025
14cd30c
recompose: Plan P07 real examples, mark P06 done
jleibs Dec 14, 2025
3396706
recompose: P07a - Real dev workflow tasks
jleibs Dec 14, 2025
faf0ab1
recompose: Update WORK.md with fuller project vision
jleibs Dec 14, 2025
d749992
recompose: Add Result type protocol to roadmap, update P07a plan
jleibs Dec 14, 2025
d8b3dc8
recompose: P07a - Restructure examples with tutorials and real tasks
jleibs Dec 14, 2025
99325e1
recompose: Update WORK.md - P07a complete
jleibs Dec 14, 2025
5305b24
recompose: Make examples a proper package with ./run entry point
jleibs Dec 14, 2025
a61cd08
recompose: Update WORK.md - P07a/P07c complete
jleibs Dec 14, 2025
a13f398
recompose: P07b - Build & distribution tasks
jleibs Dec 15, 2025
2ec5e17
recompose: P07d - Workflow generation & validation
jleibs Dec 15, 2025
8ef93b3
recompose: Move generate_gha and inspect to built-in tasks
jleibs Dec 15, 2025
334b895
recompose: Consolidate generate_gha task
jleibs Dec 15, 2025
0deb434
recompose: Improve generate_gha output and naming
jleibs Dec 15, 2025
3120892
recompose: Simplify generate_gha to return list[WorkflowSpec]
jleibs Dec 15, 2025
bf406fe
recompose: Add pretty repr to WorkflowSpec
jleibs Dec 15, 2025
68e56b9
recompose: Add workflow validation to ci flow
jleibs Dec 15, 2025
46b0e35
recompose: Add path field to WorkflowSpec
jleibs Dec 15, 2025
544b05e
recompose: Switch to ruamel.yaml for YAML 1.2 compliance
jleibs Dec 15, 2025
f299614
recompose: Remove stale example_app.py
jleibs Dec 15, 2025
be7babf
recompose: Add mypy type checking to lint task
jleibs Dec 15, 2025
7a91404
recompose: Make tutorials a proper package
jleibs Dec 15, 2025
603aa62
recompose: Add temporary push trigger for CI testing
jleibs Dec 15, 2025
fe942d7
recompose: Add working_directory config for GHA workflow generation
jleibs Dec 15, 2025
abc7bb8
recompose: Fix GHA workflow to use module-style invocation
jleibs Dec 15, 2025
47a7c6d
recompose: Consolidate dev dependencies in dependency-groups
jleibs Dec 15, 2025
5cd3e38
recompose: P08 complete - CI workflow working on GitHub Actions
jleibs Dec 15, 2025
dd960b2
recompose: Include setup_workspace in flowgraph for consistent numbering
jleibs Dec 15, 2025
d944b7d
recompose: Support flows with required parameters for GHA generation
jleibs Dec 15, 2025
b128fd9
recompose: Result.value() method, GHA env var, lint fixes
jleibs Dec 15, 2025
e577fce
recompose: P09 workflow dispatch + serializer registry + tree output
jleibs Dec 16, 2025
b980785
recompose: Remove .flow() method - use context-based dispatch
jleibs Dec 16, 2025
b62e13c
recompose: Update WORK.md and mark P10 as DONE
jleibs Dec 16, 2025
7faa329
recompose: Fix formatting and regenerate workflows after context disp…
jleibs Dec 16, 2025
d5763fc
recompose: generate_gha now returns list of changed paths instead of …
jleibs Dec 16, 2025
29255c0
recompose: Clean up WORK.md - archive completed projects
jleibs Dec 17, 2025
bc1fea2
recompose: Implement explicit command registration (P11)
jleibs Dec 17, 2025
b76b757
recompose: P11 explicit registration - remove auto-discovery
jleibs Dec 17, 2025
680b8d9
Removing some unnecessary commands that are only used in flows
jleibs Dec 17, 2025
37300b0
recompose: Improve conditional task display and use linear flow order
jleibs Dec 17, 2025
d2749f8
recompose: Improve condition check naming and add complex conditional…
jleibs Dec 17, 2025
e153e1e
recompose: Fix GHA condition comment to be proper YAML comment
jleibs Dec 17, 2025
cd7e89a
recompose: Add ARCHITECTURE.md and improve gh CLI error messages
jleibs Dec 17, 2025
ff8ebd6
recompose: Document Result value access patterns and renumber cleanup…
jleibs Dec 17, 2025
df2ec69
recompose: Document error handling conventions
jleibs Dec 17, 2025
58538c4
recompose: Add cleanup item for unnecessary topological sort
jleibs Dec 17, 2025
169b429
recompose: Complete P12 Phase 1 cleanup
jleibs Dec 17, 2025
4dafb1a
recompose: Remove unused visualize() and get_parallelizable_groups()
jleibs Dec 17, 2025
b0782c0
recompose: Phase 2 module renames for clarity
jleibs Dec 17, 2025
0b52f9f
recompose: Consolidate duplicate wrapper code in task.py
jleibs Dec 17, 2025
7f479bf
recompose: Remove in-process flow execution, always use subprocess is…
jleibs Dec 17, 2025
0a1f2a4
recompose: Update P12 progress docs
jleibs Dec 17, 2025
ff53a47
recompose: Move GitHub CLI display handlers to gh_cli.py
jleibs Dec 17, 2025
47588a0
recompose: Extract local execution to local_executor.py
jleibs Dec 17, 2025
b7c7897
recompose: Update P12 docs with local_executor extraction
jleibs Dec 17, 2025
76a70fa
recompose: Move flow planning to decoration time
jleibs Dec 17, 2025
d9e7573
recompose: Remove closures from flow.py
jleibs Dec 17, 2025
f0789a0
recompose: Fix lint/type errors from refactoring
jleibs Dec 17, 2025
01f1ff0
recompose: Refactor CLI to use kebab-case and move execution logic
jleibs Dec 17, 2025
a32be1b
recompose: Replace greeting_pipeline with greet_and_farewell example
jleibs Dec 17, 2025
0ed139d
recompose: Fix and improve inspect command
jleibs Dec 17, 2025
77321df
recompose: Improve inspect task graph visualization
jleibs Dec 17, 2025
7cd514a
recompose: Nest conditional tasks under run_if nodes in inspect
jleibs Dec 17, 2025
81ca867
recompose: TaskClass instances work as first-class entities in flows
jleibs Dec 18, 2025
bfb64cc
recompose: Add TaskClass state serialization for flow execution
jleibs Dec 18, 2025
102fe23
recompose: Fix subprocess isolation with standalone step executor
jleibs Dec 18, 2025
d1c8355
recompose: Add Venv TaskClass and wheel_test_v2 flow
jleibs Dec 18, 2025
0b3a0ff
recompose: Update P13 completion criteria
jleibs Dec 18, 2025
a86e58f
recompose: Replace wheel_test with TaskClass-based implementation
jleibs Dec 18, 2025
3768182
recompose: Fix subprocess isolation for module-based entry points
jleibs Dec 18, 2025
b6f9a58
recompose: Add @method decorator for TaskClass methods
jleibs Dec 18, 2025
319a829
recompose: Fix typing for @method decorator using Concatenate
jleibs Dec 18, 2025
2c4853c
recompose: Add App class for cleaner subprocess isolation
jleibs Dec 18, 2025
6ec8365
recompose: Merge Config into App class
jleibs Dec 18, 2025
7c14fad
recompose: Consolidate GHA and local execution to use recompose._run_…
jleibs Dec 18, 2025
bb729a1
recompose: Require module-based entry points, remove script support
jleibs Dec 18, 2025
2e3f7d7
recompose: Rename script_path to module_name in FlowParams
jleibs Dec 18, 2025
10a5456
recompose: Simplify _run_step.py - require App, remove fallback
jleibs Dec 18, 2025
31fbe44
P14: Design doc for architectural pivot - tasks as jobs
jleibs Dec 18, 2025
51e7a0e
P14: Add conditional jobs with expression algebra
jleibs Dec 18, 2025
a2ff98c
P14: Add @step decorator for visual output grouping
jleibs Dec 18, 2025
18888ef
P14 Phase 1: Task decorator enhancements
jleibs Dec 18, 2025
9427aaf
P14: Update docs - Phase 1 complete
jleibs Dec 18, 2025
fd62ba8
P14 Phase 2+3: Automation framework and triggers
jleibs Dec 18, 2025
834a8a1
P14 Phase 4: Multi-job workflow generation
jleibs Dec 18, 2025
0faf8d3
P14 Phase 5: make_dispatchable() for single-task workflows
jleibs Dec 18, 2025
7533bdf
P14 Phase 6: Remove legacy flow/taskclass code
jleibs Dec 18, 2025
f9da9a8
P14 Phase 7: Migration & polish
jleibs Dec 18, 2025
eb87675
P15: Plan for cleanup & local automation execution
jleibs Dec 18, 2025
2dc99e7
P15 Phase 1: API Cleanup
jleibs Dec 18, 2025
3924428
P15 Phase 2: Local Automation Execution
jleibs Dec 18, 2025
c1ff748
Fix local automation execution
jleibs Dec 18, 2025
49fec48
Exit with non-zero code when task fails
jleibs Dec 18, 2025
56ec864
Add tree-style nested output for automation jobs
jleibs Dec 18, 2025
4fc58c7
Suppress task headers when running as automation subprocess
jleibs Dec 18, 2025
020935e
Run independent jobs in parallel, continue on failure
jleibs Dec 18, 2025
84bf26e
Show jobs passed count instead of failed count
jleibs Dec 18, 2025
517dd56
Fix mypy type errors in recompose
jleibs Dec 18, 2025
a4b3212
Fix YAML anchors in generated GHA workflows
jleibs Dec 18, 2025
997c47e
Add generate_gha --check-only to CI automation
jleibs Dec 18, 2025
fcdafcd
Add lint_all task to consolidate CI lint checks
jleibs Dec 18, 2025
09c7134
Add hierarchical tree-style output for nested task calls
jleibs Dec 19, 2025
f98f513
Add P16 project plan for unified output system
jleibs Dec 19, 2025
267477e
Finalize P16 output symbology
jleibs Dec 19, 2025
ab3d655
Complete P16: Unified output system with OutputManager
jleibs Dec 19, 2025
abb4a08
Fix P16 output: parent-side prefixing for proper nesting
jleibs Dec 19, 2025
d911cc1
Fix status line colors: separate tree prefix from styled text
jleibs Dec 19, 2025
830a47d
Fix parallel job output indentation
jleibs Dec 19, 2025
ded2889
Simplify P16 output system with recursive model
jleibs Dec 19, 2025
6148798
Update P16 project notes with simplified design
jleibs Dec 19, 2025
9b6368a
Fix parallel group output with recursive prefixing
jleibs Dec 19, 2025
d280213
Use proper corner for parallel header: └─┬─⊕
jleibs Dec 19, 2025
10b2fc5
Fix parallel header symbol and prefix job outputs
jleibs Dec 19, 2025
66b96e1
Restore colored status symbols (green ✓ / red ✗)
jleibs Dec 19, 2025
ddcc20f
Style entire status line including prefix
jleibs Dec 19, 2025
9cd77d6
Style prefix same as header (bold cyan), status as green/red
jleibs Dec 19, 2025
49506d4
Add blank line with prefix after status for visual separation
jleibs Dec 19, 2025
1585a43
Style all prefix lines with bold cyan to match headers
jleibs Dec 19, 2025
cf258bf
Only set FORCE_COLOR when colors are enabled in parent
jleibs Dec 19, 2025
952f535
Use sys.stdout.isatty() for color detection
jleibs Dec 19, 2025
d1a61ca
Remove FORCE_COLOR - propagates to tests and breaks them
jleibs Dec 19, 2025
10950bc
Use Rich color_system for proper color detection, disable in tests
jleibs Dec 19, 2025
2e5f86b
Check NO_COLOR explicitly before Rich color detection
jleibs Dec 19, 2025
1b436c4
Use colors_enabled in print() to respect NO_COLOR
jleibs Dec 19, 2025
3a716b8
Configure Rich Console with no_color=True when NO_COLOR is set
jleibs Dec 19, 2025
f37c258
Combine fixtures to ensure NO_COLOR is set before output manager reset
jleibs Dec 19, 2025
7e6cef2
Use force_terminal=False with no_color=True to override FORCE_COLOR
jleibs Dec 19, 2025
f735031
Use OutputManager's console in CLI to respect NO_COLOR
jleibs Dec 19, 2025
dbe9d58
Simplify color handling - just propagate env vars correctly
jleibs Dec 19, 2025
e626565
Set NO_COLOR at module level in conftest before any imports
jleibs Dec 19, 2025
fac4157
Unset FORCE_COLOR in conftest - Rich ignores NO_COLOR when it's set
jleibs Dec 19, 2025
3ba3052
Make CLI console lazy and reset in tests
jleibs Dec 19, 2025
6c93fd8
Style nested task prefix lines with bold cyan
jleibs Dec 19, 2025
aa3e9ac
Move job outputs after status line and use dim style
jleibs Dec 19, 2025
d3bb365
Style output prefix bold cyan, content dim
jleibs Dec 19, 2025
90a1660
Remove old flow-based workflows
jleibs Dec 19, 2025
86c0d48
Fix more output stuff
jleibs Dec 19, 2025
1906ada
Add jleibs/recompose branch to CI push triggers
jleibs Dec 19, 2025
d9306b7
Fix GHA task names to use kebab-case
jleibs Dec 19, 2025
5955aff
Unset GITHUB_ACTIONS in tests to use local output format
jleibs Dec 19, 2025
061235f
Add --status flag to automation commands
jleibs Dec 19, 2025
5db7e61
Implement recursive capture-and-prefix model for task output
jleibs Dec 19, 2025
21470c4
Add color support to task output
jleibs Dec 19, 2025
ac01ad0
Fix color bleeding in task output styling
jleibs Dec 19, 2025
a014741
Update WORK.md with output system details
jleibs Dec 19, 2025
53d92a6
Fix nested task styling - look ahead past all spaces
jleibs Dec 19, 2025
a8cb951
Fix double header in automation output
jleibs Dec 19, 2025
5e0fc64
Style task names as bold consistently
jleibs Dec 19, 2025
6d142c3
Use non-bold cyan for tree symbols
jleibs Dec 19, 2025
839a085
Extract colors to COLORS dict for easy palette iteration
jleibs Dec 19, 2025
42c8045
Simplify output styling - colors pass through capture
jleibs Dec 19, 2025
30e1627
Add visual spacing in nested task output
jleibs Dec 19, 2025
7b88e5f
Use tighter content prefix (│ ) for task body output
jleibs Dec 19, 2025
6040fa2
Add nested task demo and fix ANSI code interference
jleibs Dec 19, 2025
addd39f
Enable color output for subprocesses inside task context
jleibs Dec 19, 2025
b6bb78a
Restore GHA output group markers for first-level subtasks
jleibs Dec 19, 2025
e2cb4a6
Enable mypy check_untyped_defs for tests
jleibs Dec 19, 2025
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
5 changes: 2 additions & 3 deletions .github/workflows/contrib_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,10 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: py-docs

- name: Build via mkdocs
run: |
pixi run -e py-docs mkdocs build --strict -f rerun_py/mkdocs.yml
pixi run uv run --group docs mkdocs build --strict -f rerun_py/mkdocs.yml

no-codegen-changes:
name: Check if running codegen would produce any changes
Expand Down Expand Up @@ -201,7 +200,7 @@ jobs:
pixi-version: v0.55.0

- name: Check Python example thumbnails
run: pixi run ./scripts/ci/thumbnails.py check
run: pixi run uvpy ./scripts/ci/thumbnails.py check

spell-check:
name: Spell Check
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/contrib_rerun_py.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: wheel-test-min

- name: Build rerun-cli
run: |
Expand All @@ -66,22 +65,22 @@ jobs:

- name: Build the wheel
run: |
pixi run python scripts/ci/build_and_upload_wheels.py \
pixi run uvpy scripts/ci/build_and_upload_wheels.py \
--mode pr \
--target x86_64-unknown-linux-gnu \
--dir unused \
--compat manylinux_2_28

- name: Install built wheel
run: |
pixi run python scripts/ci/pixi_install_wheel.py --feature python-pypi --package rerun-sdk --dir dist/x86_64-unknown-linux-gnu
pixi run python scripts/ci/uv_install_wheel.py --package rerun-sdk --dir dist/x86_64-unknown-linux-gnu

- name: Run e2e test
run: RUST_LOG=debug pixi run -e wheel-test-min scripts/run_python_e2e_test.py --no-build # rerun-sdk is already built and installed
run: RUST_LOG=debug pixi run uvpy scripts/run_python_e2e_test.py --no-build # rerun-sdk is already built and installed

- name: Run docs/snippets/compare_snippet_output.py
# --release so we can inherit from some of the artifacts that maturin has just built before
# --target x86_64-unknown-linux-gnu because otherwise cargo loses the target cache… even though this is the target anyhow…
# --no-py-build because rerun-sdk is already built and installed
run: |
RUST_LOG=debug pixi run -e wheel-test-min docs/snippets/compare_snippet_output.py --release --target x86_64-unknown-linux-gnu --no-py-build
RUST_LOG=debug pixi run uvpy docs/snippets/compare_snippet_output.py --release --target x86_64-unknown-linux-gnu --no-py-build
1 change: 0 additions & 1 deletion .github/workflows/on_push_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: py-docs

- name: Install rerun-sdk
run: |
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/recompose_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# ============================================================================
# GENERATED FILE - DO NOT EDIT MANUALLY
#
# This workflow is generated by recompose. To modify:
# 1. Edit the source automation/task definition
# 2. Run: ./run generate_gha
# 3. Commit the regenerated file
#
# Source: automation: ci
# ============================================================================
name: ci
on:
push:
branches:
- main
- jleibs/recompose
pull_request: null
jobs:
lint_all:
runs-on: ubuntu-latest
defaults:
run:
working-directory: recompose
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup uv
uses: astral-sh/setup-uv@v4
- name: lint-all
run: ./run lint-all
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: recompose
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup uv
uses: astral-sh/setup-uv@v4
- name: test
run: ./run test
30 changes: 30 additions & 0 deletions .github/workflows/recompose_lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# ============================================================================
# GENERATED FILE - DO NOT EDIT MANUALLY
#
# This workflow is generated by recompose. To modify:
# 1. Edit the source automation/task definition
# 2. Run: ./run generate_gha
# 3. Commit the regenerated file
#
# Source: automation: lint
# ============================================================================
name: lint
on:
workflow_dispatch: null
jobs:
lint:
runs-on: ubuntu-latest
defaults:
run:
working-directory: recompose
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup uv
uses: astral-sh/setup-uv@v4
- name: lint
run: ./run lint
42 changes: 42 additions & 0 deletions .github/workflows/recompose_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# ============================================================================
# GENERATED FILE - DO NOT EDIT MANUALLY
#
# This workflow is generated by recompose. To modify:
# 1. Edit the source automation/task definition
# 2. Run: ./run generate_gha
# 3. Commit the regenerated file
#
# Source: automation: test
# ============================================================================
name: test
on:
workflow_dispatch:
inputs:
verbose:
description: Show verbose output
required: false
default: false
type: boolean
coverage:
description: Enable coverage reporting
required: false
default: false
type: boolean
jobs:
test:
runs-on: ubuntu-latest
defaults:
run:
working-directory: recompose
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup uv
uses: astral-sh/setup-uv@v4
- name: test
run: ./run test --verbose=${{ inputs.verbose }} --coverage=${{
inputs.coverage }}
8 changes: 1 addition & 7 deletions .github/workflows/reusable_bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,6 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
# default: for the rendering step
# wheel-test-min: minimal env for roundtrips (less heavy than wheel-test/examples)
environments: >-
default
wheel-test-min

- name: Add SHORT_SHA env property with commit short sha
run: echo "SHORT_SHA=`echo ${{github.sha}} | cut -c1-7`" >> $GITHUB_ENV
Expand All @@ -89,8 +84,7 @@ jobs:
# Use bash shell so we get pipefail behavior with tee
# Running under `pixi` so we get `nasm`
run: |
pixi run -e wheel-test-min \
cargo bench \
pixi run cargo bench \
--all-features \
-p re_entity_db \
-p re_log_encoding \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/reusable_build_and_upload_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ jobs:

- name: Build
run: |
pixi run python scripts/ci/build_and_upload_wheels.py \
pixi run uvpy scripts/ci/build_and_upload_wheels.py \
--mode ${{ inputs.MODE }} \
--target ${{ needs.set-config.outputs.TARGET }} \
--dir commit/${{ steps.get-sha.outputs.sha }}/wheels \
Expand All @@ -227,7 +227,7 @@ jobs:
run: |
rm -rf dist
pixi run js-build-base
pixi run python scripts/ci/build_and_upload_rerun_notebook.py \
pixi run uvpy scripts/ci/build_and_upload_rerun_notebook.py \
--dir commit/${{ steps.get-sha.outputs.sha }}/wheels

- name: Save rerun_notebook wheel artifact
Expand Down
24 changes: 15 additions & 9 deletions .github/workflows/reusable_build_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,23 +62,29 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: wheel-test

- name: Download Wheel
- name: Download Rerun Wheel
uses: actions/download-artifact@v4
with:
name: ${{ inputs.WHEEL_ARTIFACT_NAME }}
path: wheel

- name: Download Rerun Notebook Wheel
uses: actions/download-artifact@v4
with:
name: rerun_notebook_wheel
path: wheel

- name: Install built wheel
run: |
pixi run python scripts/ci/pixi_install_wheel.py --feature python-pypi --package rerun-sdk --dir wheel
pixi run python scripts/ci/uv_install_wheel.py --package rerun-sdk --dir wheel
pixi run python scripts/ci/uv_install_wheel.py --package rerun-notebook --dir wheel --platform-independent

- name: Print wheel version
run: |
pixi list -e wheel-test | grep rerun_sdk
pixi run -e wheel-test python -m rerun --version
pixi run -e wheel-test which rerun
pixi run uv pip show rerun-sdk
pixi run uv pip show rerun-notebook
pixi run uvpy -m rerun --version

- name: Get sha
id: get-sha
Expand All @@ -88,18 +94,18 @@ jobs:

- name: Build examples
run: |
pixi run -e wheel-test build-examples rrd \
pixi run build-examples rrd --install \
--channel ${{ inputs.CHANNEL }} \
example_data

- name: Build notebooks
run: |
pixi run -e wheel-test build-examples notebook \
pixi run build-examples notebook \
--channel ${{ inputs.CHANNEL }}

- name: Build & run snippets
run: |
pixi run -e wheel-test build-examples snippets \
pixi run build-examples snippets \
example_data/snippets

- name: Upload assets
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ jobs:
pixi-version: v0.55.0

- name: Check Python example thumbnails
run: pixi run ./scripts/ci/thumbnails.py check
run: pixi run uvpy ./scripts/ci/thumbnails.py check

check-example-manifest-coverage:
name: Check example manifest coverage
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/reusable_checks_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: py-docs

- name: Build via mkdocs
run: |
pixi run -e py-docs mkdocs build --strict -f rerun_py/mkdocs.yml
pixi run uv run --group docs mkdocs build --strict -f rerun_py/mkdocs.yml
4 changes: 1 addition & 3 deletions .github/workflows/reusable_deploy_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: py-docs

- id: "auth"
uses: google-github-actions/auth@v2
Expand All @@ -83,7 +82,7 @@ jobs:
version: ">= 363.0.0"

- name: Build docs
run: pixi run -e py-docs mkdocs build -f rerun_py/mkdocs.yml -d site
run: pixi run uv run --group docs mkdocs build -f rerun_py/mkdocs.yml -d site

- name: "Upload Python Docs (version)"
uses: google-github-actions/upload-cloud-storage@v2
Expand Down Expand Up @@ -200,7 +199,6 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: py-docs

- id: "auth"
uses: google-github-actions/auth@v2
Expand Down
20 changes: 11 additions & 9 deletions .github/workflows/reusable_publish_web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,10 @@ jobs:
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.55.0
environments: wheel-test

- name: Bootstrap examples
run: |
pixi run uv sync --group examples --inexact --no-install-package rerun-sdk

# built by `reusable_build_and_publish_wheels`
- name: Download Wheel
Expand All @@ -90,32 +93,31 @@ jobs:

- name: Install built wheel
run: |
pixi run python scripts/ci/pixi_install_wheel.py --feature python-pypi --package rerun-sdk --dir wheel
pixi run python scripts/ci/uv_install_wheel.py --package rerun-sdk --dir wheel

- name: Print wheel version
run: |
pixi list -e wheel-test | grep rerun_sdk
pixi run -e wheel-test python -m rerun --version
pixi run -e wheel-test which rerun
pixi run uv pip show rerun-sdk
pixi run uvpy -m rerun --version

- name: Build web-viewer (release)
run: |
pixi run -e wheel-test rerun-build-web-release
pixi run rerun-build-web-release

- name: Build examples
run: |
pixi run -e wheel-test build-examples rrd \
pixi run build-examples rrd --install \
--channel "release" \
crates/viewer/re_web_viewer_server/web_viewer/examples

- name: Build & run snippets
run: |
pixi run -e wheel-test build-examples snippets \
pixi run build-examples snippets \
crates/viewer/re_web_viewer_server/web_viewer/examples/snippets

- name: Build examples manifest
run: |
pixi run -e wheel-test build-examples manifest \
pixi run build-examples manifest \
--base-url "https://app.rerun.io/version/${{inputs.release-version}}" \
--channel "release" \
crates/viewer/re_web_viewer_server/web_viewer/examples_manifest.json
Expand Down
Loading
Loading