v0.1.1
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-10-31 00:37:16 +01:00
1 parent ecc201ef50
commit 698e3c4a1b
124 files changed
+4593 -2721

No files matched your search

+22 -12
View File
@@ -6,19 +6,24 @@ RustBox uses a flat Cargo layout, while Oxi uses a `backend/` subtree. The sync
## Path mapping
Examples:
Automatically mapped examples:
```text
Oxi backend/Cargo.toml -> RustBox Cargo.toml
Oxi backend/Cargo.lock -> RustBox Cargo.lock
Oxi backend/rust-toolchain.toml -> RustBox rust-toolchain.toml
Oxi backend/src/... -> RustBox src/...
Oxi backend/migrations/... -> RustBox migrations/...
Oxi backend/tests/... -> RustBox tests/...
Oxi backend/examples/... -> RustBox examples/...
Oxi backend/docs/... -> RustBox docs/...
```
Review-only boundaries, never mapped automatically:
```text
Oxi backend/migrations/... -> review against RustBox migrations/...
Oxi backend/tests/... -> review/port as native Rust tests when useful
```
RustBox-owned `src/web/` has no automatic mapping from the Oxi frontend.
## Configure the upstream
@@ -28,7 +33,7 @@ A release archive does not contain `.git`. Initialize the RustBox repository onc
```bash
git init
git add .
git commit -m "RustBox 0.0.1 baseline"
git commit -m "RustBox 0.1.1 baseline"
./scripts/setup-upstream.sh
```
@@ -55,10 +60,11 @@ or inspect a specific Oxi ref:
The report separates:
1. Oxi `backend/` changes that can be mapped into RustBox;
2. Oxi `frontend/` changes that require a manual UI port;
3. other Oxi root-level changes that require manual review;
4. upstream commits since `UPSTREAM_BASE`.
1. Oxi backend changes that can be mapped automatically;
2. Oxi backend migrations/tests that require manual review;
3. Oxi frontend changes that require a manual UI port;
4. other Oxi root-level changes that require manual review;
5. upstream commits since `UPSTREAM_BASE`.
## Advance the consumed Oxi backend state
@@ -72,10 +78,10 @@ The operation:
2. fetches `upstream-oxi`;
3. verifies that the target descends from the recorded `UPSTREAM_BASE`;
4. creates a `sync/oxi-*` review branch;
5. generates the Oxi backend delta from `UPSTREAM_BASE` to the target;
5. generates the Oxi backend delta from `UPSTREAM_BASE` to the target, excluding `backend/migrations/` and `backend/tests/`;
6. rewrites only patch metadata so `backend/<path>` becomes `<path>`;
7. applies the mapped delta with Git three-way merge support;
8. does not import Oxi frontend sources;
8. does not import Oxi frontend sources, migrations, or tests;
9. records the target as a pending sync inside Git metadata;
10. deliberately leaves `UPSTREAM_BASE` unchanged until the maintainer finishes review.
@@ -87,12 +93,14 @@ After resolving backend conflicts and porting any relevant UI behavior, finish t
./scripts/finish-upstream.sh
```
If Oxi changed its frontend or root-level files, the finish step refuses to advance the baseline until you explicitly acknowledge those reviews:
If Oxi changed its frontend, root-level files, or the RustBox-owned upstream migration/test areas, the finish step refuses to advance the baseline until those reviews are explicitly acknowledged:
```bash
./scripts/finish-upstream.sh --ui-reviewed --root-reviewed
./scripts/finish-upstream.sh --ui-reviewed --root-reviewed --rustbox-owned-reviewed
```
`--rustbox-owned-reviewed` confirms that changes under Oxi `backend/migrations/` and `backend/tests/` were inspected and any relevant behavior was manually ported. Those files are never copied into RustBox automatically.
The finish step runs the RustBox release build gate and only then stages the new `UPSTREAM_BASE`. Review `git status` and commit the sync. `--skip-build` exists for exceptional local workflows, but CI should still run the full gate before merge.
If the sync is rejected, discard the review branch; the main branch and its `UPSTREAM_BASE` remain unchanged.
@@ -123,6 +131,8 @@ Oxi frontend source is never copied into RustBox. For a new Oxi feature that inc
These areas require explicit review and should not be replaced blindly by upstream changes:
- `migrations/` (RustBox owns the squashed baseline and future migration numbering);
- `tests/` (RustBox keeps native Rust/runtime fixtures rather than importing upstream Python contracts);
- `src/web/`;
- `src/ui.rs`;
- RustBox UI routing and same-origin behavior;