JJ-FZF 0.42.0.nightly2610080231
Development version - may contain bugs or compatibility issues.
Merge branch 'make-release-on-tag-pushe' # 2026-10-08 Tim Janik 0085116
* Branch commit log:
.github/workflows/ci.yml: make release on tag pushes
A new Release job runs `gh-release.sh --upload` for tag pushes:
annotated tags give a draft release with NEWS.md notes, lightweight
tags a prerelease. It builds on the runner with the Build-And-Test
packages. Ping-IRC also waits for Release.
.github/workflows/ci.yml: build and test from the distcheck tarball
Build-And-Test runs `make distcheck`, extracts the tarball to /tmp/jj-fzf
and builds, checks, installs and uninstalls from there, so CI tests
what gets released.
.github/workflows/test_ircbot.py: add ircbot tests, run them in Ping-IRC
The tests fake the IRC server and block real sockets.
They cover server and TLS options, message formatting and colors,
GitHub event fields, control characters, nick collisions,
JOIN and PRIVMSG errors, echo-message delivery checks,
retries on fresh sockets and reply deadlines.
They also have a dry run test against a simulated server.
Ping-IRC runs the tests before it announces. It now runs unless
cancelled, reports all job results through ircbot.py and does not
fail the workflow.
.github/workflows/release-test.sh: add release tests for gh-release.sh
The tests run gh-release.sh in a scratch repo with fake make, gh and docker commands.
They check draft and prerelease selection, NEWS.md and git log notes, docker arguments,
checksum verification and failures.
.github/workflows/gh-release.sh: build assets and create GitHub releases
Rewrite gh-release.sh, which needed a title argument and prebuilt ./artifacts/, and always created the release:
* Reject tags that differ from the version tag (can happen with multiple tags on HEAD)
* Build assets with `make distcheck` or in docker with --docker, set up by DOCKER_IMAGE, DOCKER_ENV, DOCKER_PLATFORM
* Verify that artifacts/$PROJECT-$VERSION.SHA256SUMS exists and matches
* Take the tag from the command line or git, check that it points to HEAD
* Take the project name from the origin URL
* Annotated tags require a matching first NEWS.md entry, found with sed
* Without --upload, only print the `gh release create` command
As before, annotated tags give draft releases with NEWS.md notes, lightweight tags prereleases with git log notes.
Makefile.mk: add dist, let distcheck build all release artifacts
gh-release.sh runs `make distcheck` and needs artifacts/jj-fzf-$VERSION.SHA256SUMS.
`make dist` now creates the tarball.
distcheck extracts it, builds, installs, checks and uninstalls from there, builds
jj-fzf.sfx and jj-fzf.1.gz from the tarball and writes the checksum file.
.version: bake version info via export-subst, adjust uses
Makefile.mk and jjfzf_version() in lib/setup.sh read .version
first, else what `git archive HEAD .version` bakes into it.
`make install` writes the same line into the installed .version.
Without version info, make and `jj-fzf --version` now fail.
installcheck now compares, tests/regressions.sh checks git tags
and version info.
Merge branch 'always-refresh-after-push' # 2026-10-08 Tim Janik 12a1ad4
* Branch commit log:
jj-fzf: Ctrl-P: always refresh after fetch and push
jj-fzf: rename die to jjfzf_die so we can export it
lib/draft.sh: fix missing error handling
Merge branch 'strip bookmark marker' # 2026-09-25 Tim Janik 88347f2
* Branch commit log:
lib/draft.sh: strip bookmark marker
ci: bump actions/checkout to v7
ci: cleanup CI pipeline configuration and build steps
Merge branch 'jj-pull-heads' # 2026-09-14 Tim Janik 8ad5187
* Branch commit log:
ci: add contrib checks to CI pipeline
contrib/test-jj-pull-heads.sh: test suite for jj-pull-heads.sh
contrib/jj-pull-heads.sh: sync mutable heads from remote jj repository into local
ci: restrict Ping-IRC to trunk and tag pushes
Merge branch 'ircbot-refactor-simplify' # 2026-09-14 Tim Janik 9b6550e
* Branch commit log:
.github/workflows/ci.yml: use new ircbot.py invocation
.github/workflows/ircbot.py: sync from anklang 028f39fe, simplify to class-based client
.github/workflows: rename testing.yml to ci.yml
Merge branch 'jj config jj-fzf.LLM_API_BASE' # 2026-09-09 Tim Janik 2ddbc88
* Branch commit log:
jj-fzf: avoid SIGPIPE aborting bookmark position matching
lib/gen-message.py: allow configuring LLM settings via jj config jj-fzf.LLM_API_BASE
.gitignore: updates