From 8037860518a6a1a68ca2d0340766483128b10f9d Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Mon, 9 Feb 2026 09:05:47 +0100 Subject: [PATCH] Update version and improve release note generation Update version from 4.4.11 to 4.4.12 - Bump version in version.go - Enhance release note generation in Makefile to use JSON output from orla and fallback to raw output if JSON parsing fails - Improve test script to verify minimum super k-mer length is >= k (default k=31) --- Makefile | 16 +++++++++++++--- obitests/obitools/obisuperkmer/test.sh | 13 +++++-------- pkg/obioptions/version.go | 2 +- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index a5afaf6..36780d9 100644 --- a/Makefile +++ b/Makefile @@ -141,9 +141,19 @@ jjpush: echo "$(BLUE)→ Documenting version bump commit...$(NC)"; \ jj auto-describe; \ echo "$(BLUE)→ Generating release notes from $$previous_tag to current commit...$(NC)"; \ - if command -v orla >/dev/null 2>&1; then \ - release_message=$$(ORLA_MAX_TOOL_CALLS=50 jj log -r "$$previous_tag::@" -T 'commit_id.short() ++ " " ++ description' | \ - orla agent -m ollama:qwen3-coder-next:latest "synthétise en anglais l'ensemble des commits présentés en un message de nouvelle version pour ma page GitHub. Tu détailleras précisément les changements, sans exposer de code, et tu éviteras toute redondance dans le texte généré."); \ + if command -v orla >/dev/null 2>&1 && command -v jq >/dev/null 2>&1; then \ + release_json=$$(ORLA_MAX_TOOL_CALLS=50 jj log -r "$$previous_tag::@" -T 'commit_id.short() ++ " " ++ description' | \ + orla agent -m ollama:qwen3-coder-next:latest \ + "Summarize the following commits into a GitHub release note for version $$version. Ignore commits related to version bumps, .gitignore changes, or any internal housekeeping that is irrelevant to end users. Describe each user-facing change precisely without exposing code. Eliminate redundancy. Output strictly valid JSON with no surrounding text, using this exact schema: {\"title\": \"\", \"body\": \"\"}"); \ + release_json=$$(echo "$$release_json" | sed -n '/^{/,/^}/p'); \ + release_title=$$(echo "$$release_json" | jq -r '.title // empty') ; \ + release_body=$$(echo "$$release_json" | jq -r '.body // empty') ; \ + if [ -n "$$release_title" ] && [ -n "$$release_body" ]; then \ + release_message="$$release_title"$$'\n\n'"$$release_body"; \ + else \ + echo "$(YELLOW)⚠ JSON parsing failed, falling back to raw output$(NC)"; \ + release_message="Release $$version"$$'\n\n'"$$release_json"; \ + fi; \ else \ release_message="Release $$version"; \ fi; \ diff --git a/obitests/obitools/obisuperkmer/test.sh b/obitests/obitools/obisuperkmer/test.sh index 20799c8..a339388 100755 --- a/obitests/obitools/obisuperkmer/test.sh +++ b/obitests/obitools/obisuperkmer/test.sh @@ -230,19 +230,16 @@ else ((failed++)) fi -# Test 12: Verify super k-mers are shorter than or equal to parent sequences +# Test 12: Verify each super k-mer length is >= k (default k=31) ((ntest++)) -# Count nucleotides in input sequences (excluding headers) -input_bases=$(grep -v "^>" "${TEST_DIR}/test_sequences.fasta" | tr -d '\n' | wc -c) -# Count nucleotides in output sequences (excluding headers) -output_bases=$(grep -v "^>" "${TMPDIR}/output_default.fasta" | tr -d '\n' | wc -c) +min_len=$(grep -v "^>" "${TMPDIR}/output_default.fasta" | awk '{print length}' | sort -n | head -1) -if [ "$output_bases" -le "$input_bases" ] +if [ "$min_len" -ge 31 ] then - log "$MCMD: super k-mer total length <= input length OK" + log "$MCMD: all super k-mers have length >= k OK" ((success++)) else - log "$MCMD: super k-mer total length > input length - failed" + log "$MCMD: some super k-mers shorter than k ($min_len < 31) - failed" ((failed++)) fi diff --git a/pkg/obioptions/version.go b/pkg/obioptions/version.go index 2cc2fe0..489bd84 100644 --- a/pkg/obioptions/version.go +++ b/pkg/obioptions/version.go @@ -3,7 +3,7 @@ package obioptions // Version is automatically updated by the Makefile from version.txt // The patch number (third digit) is incremented on each push to the repository -var _Version = "Release 4.4.11" +var _Version = "Release 4.4.12" // Version returns the version of the obitools package. //