Skip to content

chore(version): Bump version to 0.2.54 #63

chore(version): Bump version to 0.2.54

chore(version): Bump version to 0.2.54 #63

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
env:
RUST_BACKTRACE: full
RUSTUP_MAX_RETRIES: 100
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 100
CARGO_TERM_COLOR: always
jobs:
build:
name: Build Binary for ${{ matrix.target }}
strategy:
fail-fast: false
matrix:
target:
# 64-bit Linux
- x86_64-unknown-linux-gnu
# 64-bit Linux Static
- x86_64-unknown-linux-musl
# 64-bit macOS
- x86_64-apple-darwin
# ARM64 macOS
- aarch64-apple-darwin
# 64-bit Windows
- x86_64-pc-windows-msvc
# This expands the matrix variables for the target
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#expanding-or-adding-matrix-configurations
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-20.04
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: x86_64-apple-darwin
os: macOS-latest
- target: aarch64-apple-darwin
os: macOS-latest
- target: x86_64-pc-windows-msvc
os: windows-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Extract Tag
id: tag
shell: bash
run: |
echo "NAME=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
- name: Setup Cache for Rust
uses: Swatinem/rust-cache@v2
with:
prefix-key: "${{ matrix.target }}"
- name: Setup Rust for ${{ matrix.target }}
run: rustup target add ${{ matrix.target }}
- name: Install dependencies for musl build
if: matrix.target == 'x86_64-unknown-linux-musl'
run: sudo apt install -y musl-tools
- name: Build Binary
run: cargo build --release --target ${{ matrix.target }}
- name: Archive Binary
if: matrix.os != 'windows-latest'
working-directory: target/${{ matrix.target }}/release/
run: |
strip conventional-versioning
tar czvf ../../../conventional-versioning-${{ steps.tag.outputs.name }}-${{ matrix.target }}.tar.gz conventional-versioning
- name: Archive Binary (windows)
if: matrix.os == 'windows-latest'
working-directory: target/${{ matrix.target }}/release/
run: |
strip conventional-versioning.exe
7z a ../../../conventional-versioning-${{ steps.tag.outputs.name }}-${{ matrix.target }}.zip conventional-versioning.exe
- name: Upload Archive as Artifact
uses: actions/upload-artifact@v4
with:
if-no-files-found: error
name: conventional-versioning-${{ steps.tag.outputs.name }}-${{ matrix.target }}
path: conventional-versioning-${{ steps.tag.outputs.name }}-${{ matrix.target }}.*
release:
needs: build
name: Create Github Release
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Get Artifacts
uses: actions/download-artifact@v4
- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: conventional-versioning-*/conventional-versioning-*
generate_release_notes: true
changelog_gen:
needs:
- release
permissions:
contents: write
name: Generate Changelog
uses: jontze/.workflows/.github/workflows/changelog_gen.yaml@main
with:
ref: main
secrets: inherit
publish:
name: Publish Crate to private Registry
runs-on: ubuntu-latest
permissions:
contents: read
environment: production
steps:
- uses: actions/checkout@v4
- name: Setup Cache for Rust
uses: Swatinem/rust-cache@v2
- name: Publish Crate
env:
CARGO_REGISTRIES_JONTZE_INDEX: ${{ secrets.REGISTRY_URL }}
run: cargo publish --token ${{ secrets.REGISTRY_TOKEN }}