Skip to content

chore: Release stackablectl-24.3.6 (#304) #17

chore: Release stackablectl-24.3.6 (#304)

chore: Release stackablectl-24.3.6 (#304) #17

---
name: Stackablectl Release Pipeline
on:
push:
tags:
- "stackablectl-[0-9]+.[0-9]+.[0-9]+**"
env:
RUST_VERSION: 1.75.0
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: "0"
CARGO_PROFILE_DEV_DEBUG: "0"
RUSTFLAGS: "-D warnings"
RUSTDOCFLAGS: "-D warnings"
RUST_LOG: "info"
jobs:
release:
name: Release for ${{ matrix.target }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-20.04 # We don't use ubuntu-latest because we want to build against an old glibc version. (18.04 has glibc 2.27, 20.04 has glibc 2.31, 22.04 has glibc 2.35)
file-suffix: ""
- target: aarch64-unknown-linux-gnu
os: buildjet-4vcpu-ubuntu-2204-arm # The ARM runners only support Ubuntu 22.04, so we can't pick 20.04
file-suffix: ""
- target: x86_64-apple-darwin
os: macos-latest
file-suffix: ""
- target: aarch64-apple-darwin
os: macos-latest
file-suffix: ""
steps:
- name: Checkout
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@0e66bd3e6b38ec0ad5312288c83e47c143e6b09e # v1
with:
toolchain: ${{ env.RUST_VERSION }}
targets: ${{ matrix.target }}
- uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5
with:
go-version: '^1.22.2'
- name: Build Binary
if: matrix.os != 'windows-latest'
run: cargo build --target ${{ matrix.target }} --release --package stackablectl
- name: Rename Binary
run: mv target/${{ matrix.target }}/release/stackablectl${{ matrix.file-suffix }} stackablectl-${{ matrix.target }}${{ matrix.file-suffix }}
- name: Upload Release Binary
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5
with:
files: stackablectl-${{ matrix.target }}${{ matrix.file-suffix }}