---
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
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-latest
artifact: macos-x86
target: x86_64-apple-darwin
- os: macos-latest
artifact: macos-arm
target: aarch64-apple-darwin
name: Build ${{ matrix.artifact }}
runs-on: ${{ matrix.os }}
continue-on-error: false
steps:
- name: Install system dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update && \
sudo apt-get install --assume-yes libudev-dev
- name: Build
uses: asimov-platform/build-rust-action@v2
with:
target: ${{ matrix.target }}
artifact-name: ${{ matrix.artifact }}
artifact-prefix: asimov-dataset-cli
binary-name: asimov-dataset
binary-extension: ${{ matrix.extension }}
strip-artifact: ${{ matrix.strip || 'false' }}
use-zigbuild: ${{ matrix.use-zigbuild || 'false' }}
rust-toolchain: stable
release:
name: Release
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
needs: build
permissions:
contents: write
steps:
- name: Release
uses: asimov-platform/release-action@v2
with:
token: ${{ secrets.PAT_RELEASE }}
changelog-path: CHANGES.md