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)
This commit is contained in:
Eric Coissac
2026-02-09 09:05:47 +01:00
parent 99a8e69d10
commit 8037860518
3 changed files with 19 additions and 12 deletions

View File

@@ -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\": \"<short release title>\", \"body\": \"<detailed markdown release notes>\"}"); \
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; \

View File

@@ -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

View File

@@ -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.
//