Skip to content

release

release #25

Workflow file for this run

name: release
on:
release:
types: [created]
workflow_dispatch:
inputs:
publish_assets:
description: "Upload release assets"
required: false
default: false
type: boolean
jobs:
release-linux-compat-amd64:
runs-on: ubuntu-latest
container:
image: quay.io/pypa/manylinux2014_x86_64
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build (old-glibc baseline)
run: cargo build --release
- name: Create Package
run: .github/scripts/package.sh amd64
shell: bash
- name: Upload Release Asset
if: ${{ github.event_name == 'release' || inputs.publish_assets }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name || github.ref_name }}
files: bender-*-x86_64-linux-gnu.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release-linux-compat-arm64:
runs-on: ubuntu-24.04-arm
container:
image: quay.io/pypa/manylinux2014_aarch64
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build (old-glibc baseline)
run: cargo build --release
- name: Create Package
run: .github/scripts/package.sh arm64
shell: bash
- name: Upload Release Asset
if: ${{ github.event_name == 'release' || inputs.publish_assets }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name || github.ref_name }}
files: bender-*-arm64-linux-gnu.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release-linux-modern-amd64:
runs-on: ubuntu-latest
container:
image: quay.io/pypa/manylinux_2_28_x86_64
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build (all features, manylinux_2_28)
run: cargo build --release --all-features
- name: Create Package
shell: bash
run: |
if [[ "$GITHUB_REF" =~ ^refs/tags/v.*$ ]]; then
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\/v//p')
else
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\///p')
fi
ARTIFACT_PATHNAME="bender-$PKG_VERSION-x86_64-unknown-linux-gnu+slang.tar.gz"
tar -czf "$ARTIFACT_PATHNAME" -C "./target/release" --owner=0 --group=0 bender
- name: Upload Release Asset
if: ${{ github.event_name == 'release' || inputs.publish_assets }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name || github.ref_name }}
files: bender-*-x86_64-unknown-linux-gnu+slang.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release-linux-modern-arm64:
runs-on: ubuntu-24.04-arm
container:
image: quay.io/pypa/manylinux_2_28_aarch64
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build (all features, manylinux_2_28)
run: cargo build --release --all-features
- name: Create Package
shell: bash
run: |
if [[ "$GITHUB_REF" =~ ^refs/tags/v.*$ ]]; then
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\/v//p')
else
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\///p')
fi
ARTIFACT_PATHNAME="bender-$PKG_VERSION-aarch64-unknown-linux-gnu+slang.tar.gz"
tar -czf "$ARTIFACT_PATHNAME" -C "./target/release" --owner=0 --group=0 bender
- name: Upload Release Asset
if: ${{ github.event_name == 'release' || inputs.publish_assets }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name || github.ref_name }}
files: bender-*-aarch64-unknown-linux-gnu+slang.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: universal2 install
run: |
rustup target add x86_64-apple-darwin
rustup target add aarch64-apple-darwin
cargo install universal2
- name: Build (all features)
run: cargo-universal2 --release --all-features
- name: Create Package
shell: bash
run: |
if [[ "$GITHUB_REF" =~ ^refs/tags/v.*$ ]]; then
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\/v//p')
else
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\///p')
fi
ARTIFACT_PATHNAME="bender-$PKG_VERSION-universal-apple-darwin+slang.tar.gz"
gtar -czf "$ARTIFACT_PATHNAME" -C "./target/universal2-apple-darwin/release" --owner=0 --group=0 bender
- name: Upload Release Asset
if: ${{ github.event_name == 'release' || inputs.publish_assets }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name || github.ref_name }}
files: bender-*-universal-apple-darwin+slang.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
with:
submodules: recursive
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Build (all features)
run: cargo build --release --all-features
- name: Create Package
shell: bash
run: |
if [[ "$GITHUB_REF" =~ ^refs/tags/v.*$ ]]; then
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\/v//p')
else
PKG_VERSION=$(echo "$GITHUB_REF" | sed -n 's/^refs\/tags\///p')
fi
ARTIFACT_PATHNAME="bender-$PKG_VERSION-x86_64-pc-windows-msvc+slang.tar.gz"
cp target/release/bender.exe .
tar -czf "$ARTIFACT_PATHNAME" --owner=0 --group=0 bender.exe
- name: Upload Release Asset
if: ${{ github.event_name == 'release' || inputs.publish_assets }}
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.release.tag_name || github.ref_name }}
files: bender-*-x86_64-pc-windows-msvc+slang.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}