Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Every step says who does it: script (run the command, read the result), CI (a wo
uv run --no-project python scripts/bump_engine.py --engine <VERSION> --dev-version <NEXT_DEV>
```

- [ ] 8. script: refresh the notices the new engine needs. The first `Test native` run on the bump PR stops at the notices drift check on purpose and uploads the generated file. Download it, commit it, push, and wait for the run to go green.
- [ ] 8. script: refresh the notices the new engine needs. First refresh the kept engine NOTICE (`git -C <arcadedb clone> show <VERSION>:NOTICE > native/wheel/ARCADEDB_ENGINE_NOTICE`; the generated notices embed it). The first `Test native` run on the bump PR stops at the notices drift check on purpose and uploads the generated file. Download it, commit it, push, and wait for the run to go green.

```bash
gh run list -R ArcadeData/arcadedb-python --workflow test-native.yml --branch <bump-branch> --limit 1
Expand All @@ -70,7 +70,6 @@ Every step says who does it: script (run the command, read the result), CI (a wo
uv run --no-project python scripts/bump_engine.py --engine <VERSION> --dev-version <NEXT_DEV> --check
```

If the engine NOTICE changed, also refresh the kept copy with `git -C <arcadedb clone> show <VERSION>:NOTICE > native/wheel/ARCADEDB_ENGINE_NOTICE`.

- [ ] 9. CI, then owner: merge the bump PR when every check is green, and delete the branch and the worktree. Then remove the tests and skip-list lines that waited for the new engine: `git grep -n -i "native build links\|native image links"`.
- [ ] 10. owner: check the GitHub Release (notes, pre-release flag) and, after a final release, that the milestone is closed and what was still open in it moved to the next milestone (the open one due next, or one the workflow created named after the next upstream engine version). If the run failed with a message about the next milestone, create it with a due date and re-run `GitHub Release` (Actions, `workflow_dispatch`, the tag). Close this issue with the two run ids and the two PyPI links.
3 changes: 2 additions & 1 deletion docs/modules/ROOT/pages/development/release.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -207,9 +207,10 @@ curl -fsS https://raw.githubusercontent.com/ArcadeData/arcadedb/main/pom.xml | s

`native/wheel/THIRD_PARTY_NOTICES.md` names the engine and is generated from the build log of the native image, so `build_wheel.py` fails on any difference. `bump_engine.py` reports it as `TODO` and does not edit it, and its `--check` stays at exit 1 until the file names the new engine. To regenerate:

. First refresh the kept copy of the engine `NOTICE`: `git -C <arcadedb clone> show <VERSION>:NOTICE > native/wheel/ARCADEDB_ENGINE_NOTICE`. The generated notices embed it, so a stale copy costs one more CI round (the 26.11.1 bump needed two because its `NOTICE` gained an entry).
. Push the bump PR. The first `Test native` run stops at the notices drift check on purpose, and its `native-build-record-linux-x86_64` artifact holds `THIRD_PARTY_NOTICES.generated.md`, the output of `gen_notices.py` for the new engine (the text is the same on every platform).
. Download the artifact with `gh run download <run-id> -R ArcadeData/arcadedb-python -n native-build-record-linux-x86_64 -D <scratch-dir>`, copy `THIRD_PARTY_NOTICES.generated.md` over `native/wheel/THIRD_PARTY_NOTICES.md`, and commit it to the bump branch.
. When the engine `NOTICE` changed, refresh the kept copy: `git -C <arcadedb clone> show <VERSION>:NOTICE > native/wheel/ARCADEDB_ENGINE_NOTICE`. When the next run still fails on `NOTICE`, run the `gen_notices.py ... --notice` command that the failure message prints.
. When the next run still fails on `NOTICE`, run the `gen_notices.py ... --notice` command that the failure message prints.
. Check with `uv run --no-project python scripts/bump_engine.py --engine <VERSION> --dev-version <NEXT_DEV> --check`, which must exit 0, and wait for the CI of the PR to turn green.

Some tests and skip lists wait for the engine the native image links, and say so in a comment (for example the `29_hybrid_memory_retrieval.py` line of `scripts/native_examples_skip.txt`). After the bump merges, find them with `git grep -n -i "native build links\|native image links"` and remove the ones the new engine settles.
Expand Down
1 change: 0 additions & 1 deletion scripts/native_examples_skip.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@
14_lifecycle_timing.py | starts the JVM itself (start_jvm) to time the JVM lifecycle; arcadedb-jvm only
15_import_database_vs_transactional_table_ingest.py | reads Java Schema objects (getProperty), NotOnNativeYet on the native package
25_sparse_quantization_and_compact.py | imports jpype.types (Java arrays); runs on the arcadedb-jvm package
29_hybrid_memory_retrieval.py | needs the vectorNeighbors where option of engine 26.11.1; the CI native image links release 26.10.2 (remove when 26.11.1 is out)
Loading