Skip to content

Add multi-architecture Linux release packaging workflow#12

Merged
RchGrav merged 4 commits intomainfrom
codex/add-multi-architecture-release-builds-using-github-actions
Feb 25, 2026
Merged

Add multi-architecture Linux release packaging workflow#12
RchGrav merged 4 commits intomainfrom
codex/add-multi-architecture-release-builds-using-github-actions

Conversation

@RchGrav
Copy link
Owner

@RchGrav RchGrav commented Feb 25, 2026

Motivation

  • Provide multi-architecture release artifacts for both GNU/glibc and musl targets so prebuilt binaries can be published for a wide range of Linux platforms.
  • Use CI-only cross-compilation approaches (dockcross for GNU cross builds and Zig for musl cross-compilation) while keeping the repo's native make build as authoritative.

Description

  • Add a GitHub Actions workflow .github/workflows/release.yml that triggers on v* tags and also runs on PRs/pushes to main, with jobs: test (ubuntu amd64), build-gnu (matrix for linux-amd64-gnu, linux-arm64-gnu, linux-armhf-gnu using native or dockcross), build-musl (matrix for multiple musl targets using pinned Zig), and a tag-only release job that gathers artifacts and publishes tarballs + SHA256SUMS to the GitHub Release.
  • Add .github/scripts/package_tarball.sh which produces sigmund-<version>-<target>.tar.gz archives containing a stable sigmund executable (executable bit preserved) and any LICENSE*/README* files when present.
  • Musl builds use a pinned Zig release (0.13.0) and attempt -static first, falling back to a dynamic musl build on failure so the workflow does not fail entirely for a single non-staticable target.
  • Artifact naming and contents follow the requested format (sigmund-<version>-<target>.tar.gz, version derived from tag vX.Y.Z as X.Y.Z), and a SHA256SUMS file is generated in the release job.
  • No program source files or tests were modified.

Testing

  • Ran the shell lint for the packaging script with bash -n .github/scripts/package_tarball.sh which completed successfully.
  • Built and ran the repository test suite with make clean && make && make test on the local ubuntu environment and all tests passed.
  • Validated workflow YAML syntax with ruby -e "require 'yaml'; YAML.load_file('.github/workflows/release.yml')" which loaded successfully.

Codex Task

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @RchGrav! 👋

Your private repo does not have access to Sourcery.

Please upgrade to continue using Sourcery ✨

@RchGrav RchGrav merged commit 1cbf282 into main Feb 25, 2026
14 checks passed
@RchGrav RchGrav deleted the codex/add-multi-architecture-release-builds-using-github-actions branch February 25, 2026 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant