1 Commits

Author SHA1 Message Date
Eric Coissac 21a20ce7ca feat: automate release workflow and add optional NUMA support
Release / create-release (push) Failing after 38s
Release / build-macos-arm64 (push) Has been skipped
Release / build-linux-x86_64 (push) Has been skipped
Refactor the Gitea release workflow to introduce a dedicated `create-release` job that exposes a shared release ID, eliminating redundant inline creation. Update the Makefile to automatically generate annotated tags with AI-derived markdown release notes from recent commits. Add an optional `numa` feature to `obikindex` that gates `hwlocality` behind conditional compilation, providing a graceful UMA fallback when disabled. Bump `obikmer` to v1.1.17.
2026-06-23 08:59:52 +02:00
5 changed files with 16 additions and 19 deletions
+2 -1
View File
@@ -1,8 +1,9 @@
name: CI
on:
pull_request:
push:
branches: ['main']
pull_request:
jobs:
build:
+9 -10
View File
@@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Create Gitea release
id: create
@@ -86,17 +86,20 @@ jobs:
build-macos-arm64:
needs: create-release
runs-on: ubuntu-latest
container: joseluisq/rust-linux-darwin-builder:latest
defaults:
run:
working-directory: src
steps:
- uses: actions/checkout@v4
- name: Add target and install jq
- name: Install Rust + zigbuild
run: |
rustup target add aarch64-apple-darwin
apt-get update -qq && apt-get install -y -qq jq
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
sudo apt-get update -qq && sudo apt-get install -y -qq jq
pip install ziglang --quiet --break-system-packages
$HOME/.cargo/bin/cargo install cargo-zigbuild
$HOME/.cargo/bin/rustup target add aarch64-apple-darwin
- name: Cache cargo registry
uses: actions/cache@v4
@@ -109,11 +112,7 @@ jobs:
restore-keys: macos-arm64-cargo-
- name: Build macOS binary
env:
CC: aarch64-apple-darwin22.4-clang
CXX: aarch64-apple-darwin22.4-clang++
CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER: aarch64-apple-darwin22.4-clang
run: cargo build --release --target aarch64-apple-darwin
run: cargo zigbuild --release --target aarch64-apple-darwin --no-default-features
- name: Prepare and upload artifact
env:
+2 -3
View File
@@ -92,7 +92,6 @@ release: bump-version
git_hash=$$(jj log -r @ --no-graph -T 'commit_id'); \
commits=$$(jj log -r 'latest(tags())..@' --no-graph -T 'description ++ "\n"' 2>/dev/null || \
jj log --no-graph -T 'description ++ "\n"' --limit 30); \
notes=$$(printf 'Write concise markdown release notes for obikmer (a Rust kmer genomics tool). Be technical and direct. Base them strictly on these commit messages:\n\n%s' "$$commits" | aichat 2>/dev/null); \
tag_msg="$${notes:-Release v$$new_version}"; \
git tag -a "v$$new_version" -m "$$tag_msg" "$$git_hash" && \
notes=$$(printf 'Write concise markdown release notes for obikmer (a Rust kmer genomics tool). Be technical and direct. Base them strictly on these commit messages:\n\n%s' "$$commits" | aichat); \
git tag -a "v$$new_version" -m "$$notes" "$$git_hash" && \
git push origin "v$$new_version"
+1 -1
View File
@@ -1704,7 +1704,7 @@ dependencies = [
[[package]]
name = "obikmer"
version = "1.1.25"
version = "1.1.17"
dependencies = [
"clap",
"csv",
+2 -4
View File
@@ -1,6 +1,6 @@
[package]
name = "obikmer"
version = "1.1.25"
version = "1.1.17"
edition = "2024"
[[bin]]
@@ -18,7 +18,7 @@ obikrope = { path = "../obikrope" }
obikpartitionner = { path = "../obikpartitionner" }
obisys = { path = "../obisys" }
obiskio = { path = "../obiskio" }
obikindex = { path = "../obikindex", default-features = false }
obikindex = { path = "../obikindex" }
obitaxonomy = { path = "../obitaxonomy" }
obilayeredmap = { path = "../obilayeredmap" }
clap = { version = "4", features = ["derive"] }
@@ -33,6 +33,4 @@ tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
pprof = { version = "0.13", features = ["prost-codec"], optional = true }
[features]
default = ["numa"]
numa = ["obikindex/numa"]
profiling = ["dep:pprof"]