---
name: Release
on:
push:
tags:
- "*"
jobs:
build:
strategy:
fail-fast: true
matrix:
include:
- os: ubuntu-latest
artifact: linux-x86-gnu
target: x86_64-unknown-linux-gnu
use-zigbuild: true
glibc-version: 2.28
- os: ubuntu-latest
artifact: linux-arm-gnu
target: aarch64-unknown-linux-gnu
use-zigbuild: true
glibc-version: 2.28
- os: ubuntu-latest
artifact: linux-x86-musl
target: x86_64-unknown-linux-musl
use-zigbuild: true
- os: ubuntu-latest
artifact: linux-arm-musl
target: aarch64-unknown-linux-musl
use-zigbuild: true
- os: macos-13
artifact: macos-x86
target: x86_64-apple-darwin
- os: macos-15
artifact: macos-arm
target: aarch64-apple-darwin
- os: ubuntu-latest
artifact: windows-x64
target: x86_64-pc-windows-gnu
extension: exe
name: Build ${{ matrix.artifact }}
runs-on: ${{ matrix.os }}
continue-on-error: false
steps:
- name: Build
uses: asimov-platform/build-rust-action@v5
with:
target: ${{ matrix.target }}
artifact-suffix: ${{ matrix.artifact }}
binary-extension: ${{ matrix.extension }}
use-zigbuild: ${{ matrix.use-zigbuild || 'false' }}
glibc-version: ${{ matrix.glibc-version }}
rust-toolchain: 1.85.0
release:
name: Release
if: startsWith(github.ref, 'refs/tags/')
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
outputs:
assets: ${{ steps.release.outputs.assets }}
steps:
- name: Release
id: release
uses: asimov-platform/release-action@v3
with:
app_id: ${{ secrets.ASIMOV_APP_ID }}
app_private_key: ${{ secrets.ASIMOV_APP_PRIVATE_KEY }}
changelog-path: CHANGES.md
tweet-release:
name: Tweet release
needs: release
uses: asimov-modules/.github/.github/workflows/tweet.yaml@master
with:
message: |
📦 ${{ github.event.repository.name }} ${{ github.ref_name }} has been released:
${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ github.ref_name }}
secrets: inherit
update-scoop-bucket:
name: Update Scoop bucket
needs: release
uses: asimov-modules/.github/.github/workflows/update-scoop-bucket.yaml@master
with:
version: ${{ github.ref_name }}
assets: ${{ needs.release.outputs.assets }}
secrets: inherit