Skip to content

chore: update flake lock #456

chore: update flake lock

chore: update flake lock #456

Workflow file for this run

name: 'Cli Build and Release'
on:
push:
tags:
- "v*.*.*"
branches:
- main
pull_request:
jobs:
build-artifacts:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
name:
- linux-x86-64-gnu
- linux-arm64-gnu
- macos-x86-64
- macos-arm64
include:
- name: linux-x86-64-gnu
target: x86_64-unknown-linux-gnu
os: ubuntu-latest
- name: linux-arm64-gnu
target: aarch64-unknown-linux-gnu
os: ubuntu-24.04-arm
- name: macos-x86-64
target: x86_64-apple-darwin
os: macos-latest
- name: macos-arm64
target: aarch64-apple-darwin
os: macos-latest
name: Build Cli for ${{ matrix.name }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Cache cargo and rust files
id: rust_cache
uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
with:
cache-on-failure: true
shared-key: 'cli_release_cache-${{ matrix.name }}'
- name: install Rust stable
uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 # stable
with:
target: ${{ matrix.target }}
toolchain: stable
- name: Build
run: cargo build --release --locked --target ${{ matrix.target }} -p hibernation
- name: Compress artifact
run: tar -czvf hibernation-${{ matrix.name }}.tar.gz -C target/${{ matrix.target }}/release hibernation
- name: Upload artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: ${{ github.event_name == 'push' }}
with:
name: hibernation-${{ matrix.name }}
path: hibernation-${{ matrix.name }}.tar.gz
release-artifacts:
needs: build-artifacts
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
steps:
- uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3
id: app-token
with:
client-id: ${{ secrets.COMMIT_BOT_CLIENT_ID }}
private-key: ${{ secrets.COMMIT_BOT_PRIVATE_KEY }}
- name: Download artifacts
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
pattern: hibernation-*
merge-multiple: true
path: ./release-assets
- name: Upload release assets
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3
with:
files: ./release-assets/*
tag_name: ${{ github.ref_name }}
token: ${{ steps.app-token.outputs.token }}
name: Hibernation ${{ github.ref_name }}
body: |
Hibernation version ${{ github.ref_name }} has been released!
generate_release_notes: true