Skip to content

chore: update actions definition to upload artifacts from stable #5

chore: update actions definition to upload artifacts from stable

chore: update actions definition to upload artifacts from stable #5

Workflow file for this run

name: Release
on:
push:
branches:
- stable
jobs:
prepare:
name: Prepare release metadata
runs-on: ubuntu-latest
outputs:
version: ${{ steps.extract_version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Extract version
id: extract_version
run: |
version=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
echo "version=$version" >> "$GITHUB_OUTPUT"
- name: Create GitHub release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ steps.extract_version.outputs.version }}
name: txtcv v${{ steps.extract_version.outputs.version }}
target_commitish: ${{ github.sha }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build:
name: Build and upload ${{ matrix.target }} binary
needs: prepare
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
target: linux
- os: macos-latest
target: macos
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Build release binary
run: cargo build --release
- name: Create archive
run: |
mkdir -p dist
archive="dist/txtcv-${{ needs.prepare.outputs.version }}-${{ matrix.target }}.tar.gz"
tar -czf "$archive" -C target/release txtcv
- name: Upload release asset
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ needs.prepare.outputs.version }}
files: dist/txtcv-${{ needs.prepare.outputs.version }}-${{ matrix.target }}.tar.gz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}