MirrorNeuron core releases from Git tags. The tag is the public source of truth for the release version.
Use Semantic Versioning tags with a leading v:
vMAJOR.MINOR.PATCHfor stable releasesvMAJOR.MINOR.PATCH-rc.Nfor release candidatesvMAJOR.MINOR.PATCH-beta.NorvMAJOR.MINOR.PATCH-alpha.Nfor prereleases
Examples:
v1.0.1= patch releasev1.1.0= minor releasev2.0.0= major releasev1.1.0-rc.1= prerelease
CI build numbers are for internal artifacts only. Public releases use clean SemVer tags, not build-number versions such as 1.0.0-build123.
MirrorNeuron core is distributed through GitHub Release OTP tarballs only. This repository intentionally does not publish runtime releases to Hex, PyPI, npm, Docker, or a custom source ZIP.
OTP releases are OS and architecture specific. A release built for Linux will not run on macOS, and an x64 release will not run on ARM64.
Each tagged release uploads:
MirrorNeuron-vX.Y.Z-darwin-arm64-otp-release.tar.gzMirrorNeuron-vX.Y.Z-linux-x64-otp-release.tar.gzMirrorNeuron-vX.Y.Z-linux-arm64-otp-release.tar.gzSHA256SUMS.txt
Before creating a release, make sure main is clean and tests pass locally.
git checkout main
git pull
mix deps.get
mix format --check-formatted
mix test
MIX_PROJECT_VERSION=1.0.1 MIX_ENV=prod mix release --overwrite
git tag v1.0.1
git push origin v1.0.1Pushing the tag starts the release workflow. The workflow validates the tag, runs tests, builds platform-specific OTP releases, writes SHA256 checksums, creates a GitHub Release, and uploads only the OTP tarballs plus checksum file.
git checkout main
git pull
git tag v1.0.1-rc.1
git push origin v1.0.1-rc.1Prerelease tags create GitHub prereleases with the same OTP tarball assets.
Download the tarball that matches the target machine:
- Apple Silicon macOS:
darwin-arm64 - Linux x64:
linux-x64 - Linux ARM64:
linux-arm64
Verify the checksum:
shasum -a 256 -c SHA256SUMS.txtExtract and start the runtime:
tar -xzf MirrorNeuron-v1.0.1-linux-x64-otp-release.tar.gz
cd mirror_neuron
bin/mirror_neuron startThe Elixir project version is derived from the Git tag at release time through MIX_PROJECT_VERSION. Stable tags such as v1.0.1 build project metadata as 1.0.1, without the leading v.