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
18 changes: 18 additions & 0 deletions docs/releases/v0.6.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# jpdev v0.6.0

Seven rows of the milestone, in four pull requests (#24, #25, #26, #28): the kit stops costing a build a run for things the repository already knows, and a review becomes one command.

## What it holds

- **CI after an automated branch update** (#22, pull request #24). `templates/update-branches.yml` prefers an `UPDATE_BRANCHES_TOKEN` secret and falls back to `GITHUB_TOKEN`; on the fallback it waits for the updated head and dispatches `ci.yml` with the pull-request number and the head's SHA, so the required `check` and `handover` jobs run on that head. A fork's head is never dispatched: the run says so and fails visibly. A dispatch failure propagates; it is never mistaken for a merge conflict.
- **The vendored handover check** (#21, pull request #24). `lib/handover_check.sh` is vendored as `scripts/dev/handover_check.sh` with the kit's version line; the CI template calls that path; tests and the release gate hold both vendored scripts to their sources.
- **The declared venv** (#23, pull request #25). `jpdev setup` and `jpdev check` create the virtual environment `dev.json` names when it is missing, resolving the interpreter from the PATH or a pyenv version directory, else refusing with the version named; the path is validated as a relative child of the clone; every Python step runs with the venv first on its PATH and its summary names the interpreter.
- **`jpdev codex review`** (#13, pull request #25). A read-only Codex run from a review brief with the model, effort and sandbox explicit, no network unless `--network` is passed and logged, the record written to a file, the reviewed SHA printed, a refusal if the clone changed; `jpdev codex brief-template --review` prints the review skeleton with its two result lines.
- **Brief words inside backticks** (#12, pull request #26). `check-brief` treats text inside paired backticks as an identifier, path or command; a bare word is still refused with the same suggestion; unbalanced backticks exempt nothing; the product's own term left the list.
- **`codex run --add` of a directory** (#16, pull request #26). Every eligible file below the directory is committed; the handover files at any depth, ignored files and caches are left out; a directory with nothing to add is refused by name.
- **Retained check logs** (#8, pull request #28). Each step's output is kept under the scratch directory's `logs/`; when the log cannot be written the check still runs, its result is reported with the persistence failure named beside it, and the exit status stays the check's.
- **Repository notes in briefs** (#27, pull request #28). `dev.json` admits a `notes` list of plain sentences; `brief-template` prints them under `## This repository's notes`; `check-brief --build` requires that heading when the manifest has notes.

## What it does not hold

Running Codex itself in GitHub Actions; a second storage kind for anything; the re-vendor of adopting repositories, which follows this release as its own rows, the specification's first. The update template's fallback dispatch needs `workflow_dispatch` on the adopting repository's CI workflow, which the re-vendor brings.
2 changes: 1 addition & 1 deletion lib/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Sourced by bin/jpdev and lib/wrap.sh. Needs bash 5.

# shellcheck disable=SC2034 # read by bin/jpdev
JPDEV_VERSION=0.5.0
JPDEV_VERSION=0.6.0

# Every setting jpdev reads. The environment wins over the config file, the config file over the default.
JPDEV_SETTINGS=(JPDEV_SCRATCH JPDEV_LOCK JPDEV_NODE_RSS_MB JPDEV_NODE_TIMEOUT_S JPDEV_GO_ULIMIT_KB
Expand Down
2 changes: 1 addition & 1 deletion scripts/dev/check.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# from judgment-pack-devkit v0.5.0 (templates/check.sh)
# from judgment-pack-devkit v0.6.0 (templates/check.sh)
# scripts/dev/check.sh [--setup] [--only a,b] [--skip a,b] [--all] [--manifest FILE]
# Runs the checks of dev.json in order and prints one summary block; exit status = failures.
# Stops at the first failure unless --all. --setup runs the manifest's setup steps instead.
Expand Down
2 changes: 1 addition & 1 deletion scripts/dev/handover_check.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# from judgment-pack-devkit v0.5.0 (lib/handover_check.sh)
# from judgment-pack-devkit v0.6.0 (lib/handover_check.sh)
set -eu

python3 - <<'PY'
Expand Down
2 changes: 1 addition & 1 deletion templates/check.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# from judgment-pack-devkit v0.5.0 (templates/check.sh)
# from judgment-pack-devkit v0.6.0 (templates/check.sh)
# scripts/dev/check.sh [--setup] [--only a,b] [--skip a,b] [--all] [--manifest FILE]
# Runs the checks of dev.json in order and prints one summary block; exit status = failures.
# Stops at the first failure unless --all. --setup runs the manifest's setup steps instead.
Expand Down
Loading