Skip to content

chore(release): bump cli 0.32.0, acton 0.31.0, backend 0.12.0 (#65) #43

chore(release): bump cli 0.32.0, acton 0.31.0, backend 0.12.0 (#65)

chore(release): bump cli 0.32.0, acton 0.31.0, backend 0.12.0 (#65) #43

Workflow file for this run

name: Release
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+*"
permissions:
contents: write
jobs:
build:
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- backend: surrealdb
suffix: surrealdb
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- backend: postgres
suffix: postgres
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- backend: surrealdb
suffix: surrealdb
runner: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
- backend: postgres
suffix: postgres
runner: ubuntu-24.04-arm
target: aarch64-unknown-linux-gnu
env:
TAG_NAME: ${{ github.ref_name }}
steps:
- uses: actions/checkout@v6
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install protoc
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
- name: Verify Rust toolchain
run: rustc --version && cargo --version
- name: Build release binary (${{ matrix.backend }} / ${{ matrix.target }})
run: cargo build --release --package schema-forge-cli --no-default-features --features ${{ matrix.backend }}
- name: Package
env:
TARGET: ${{ matrix.target }}
SUFFIX: ${{ matrix.suffix }}
run: |
cd target/release
tar czf "../../schemaforge-${TAG_NAME}-${TARGET}-${SUFFIX}.tar.gz" schemaforge
cd ../..
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: schemaforge-${{ matrix.target }}-${{ matrix.suffix }}
path: schemaforge-${{ github.ref_name }}-${{ matrix.target }}-${{ matrix.suffix }}.tar.gz
release:
needs: build
runs-on: ubuntu-24.04
permissions:
contents: write
id-token: write
steps:
- uses: actions/download-artifact@v8
with:
merge-multiple: true
- name: Generate SHA256SUMS
run: sha256sum schemaforge-*.tar.gz > SHA256SUMS
- name: Install cosign
uses: sigstore/cosign-installer@v3
- name: Sign SHA256SUMS (keyless)
env:
COSIGN_YES: "true"
run: |
cosign sign-blob \
--output-signature SHA256SUMS.sig \
--output-certificate SHA256SUMS.pem \
SHA256SUMS
- name: Create GitHub Release
uses: softprops/action-gh-release@v3
with:
generate_release_notes: true
files: |
schemaforge-*.tar.gz
SHA256SUMS
SHA256SUMS.sig
SHA256SUMS.pem