Skip to content

Merge pull request #9 from gominimal/mike/prep-0.1.4-rls #7

Merge pull request #9 from gominimal/mike/prep-0.1.4-rls

Merge pull request #9 from gominimal/mike/prep-0.1.4-rls #7

Workflow file for this run

name: Release
on:
push:
tags:
- "v*"
workflow_dispatch:
# No workflow-level permissions -- set per-job below
jobs:
build:
permissions:
contents: read
strategy:
fail-fast: false
matrix:
include:
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
name: linux-amd64
- target: aarch64-unknown-linux-musl
os: ubuntu-24.04-arm
name: linux-aarch64
- target: x86_64-apple-darwin
os: macos-15
name: macos-amd64
- target: aarch64-apple-darwin
os: macos-latest
name: macos-aarch64
- target: x86_64-pc-windows-msvc
os: windows-latest
name: windows-amd64
- target: aarch64-pc-windows-msvc
os: windows-latest
name: windows-aarch64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: dtolnay/rust-toolchain@3c5f7ea28cd621ae0bf5283f0e981fb97b8a7af9 # stable
with:
toolchain: stable
targets: ${{ matrix.target }}
- name: Install musl-tools
if: contains(matrix.target, '-musl')
run: sudo apt-get update && sudo apt-get install -y musl-tools
- name: Build
run: cargo build --release --target ${{ matrix.target }}
- name: Package (unix)
if: runner.os != 'Windows'
run: |
cd target/${{ matrix.target }}/release
tar czf ../../../kittyview-${{ matrix.name }}.tar.gz kittyview
- name: Package (windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Compress-Archive -Path target/${{ matrix.target }}/release/kittyview.exe -DestinationPath kittyview-${{ matrix.name }}.zip
- name: Upload artifact
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: kittyview-${{ matrix.name }}
path: kittyview-${{ matrix.name }}.*
release:
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write
id-token: write
attestations: write
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
merge-multiple: true
- name: Attest build provenance
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v2
with:
subject-path: kittyview-*
- name: Create release
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2
with:
files: kittyview-*
generate_release_notes: true