
Table of Contents 1 Testing 2 Releasing libraries 2.1 Changelog 2.2 cargo release 2.3 crates.io 3 Releasing binaries 3.1 Crates.io 3.2 The pain of AVX2 3.2.1 ensure_simd 3.3 Profile selection 3.4 GitHub 3.5 cargo binstall 3.6 PyPI 3.7 Bioconda 4 Conclusion This post collects the GitHub and BioConda CI configurations I use for maintaining and releasing Sassy. This includes releasing to: crates.io (libraries, binaries) GitHub releases cargo binstall PyPI Bioconda We also have some specific settings to ensure the distributed binaries use AVX2 SIMD instructions, as well as some configuration to distribute x86-64 binaries that transparently switch to a AVX-512 enabled implementation when possible. See also this earlier post on distributing Rust SIMD binaries. (TODO: Write on cargo-multivers for shipping AVX-512 compatible binaries. See this issue for a tricky fix.)