Skip to content

Remove dependency-management from keywords (#5) #4

Remove dependency-management from keywords (#5)

Remove dependency-management from keywords (#5) #4

Workflow file for this run

name: release
on:
push:
tags:
- v*
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- name: Publish to crates.io
run: |
cargo publish \
--locked \
--package souper \
--token ${{ secrets.CRATES_IO_TOKEN }}
create-release:
runs-on: ubuntu-latest
steps:
- uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
release-build:
needs: create-release
strategy:
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: macos-latest
target: aarch64-apple-darwin
- os: macos-latest
target: x86_64-apple-darwin
runs-on: ${{ matrix.os }}
env:
TARGET: ${{ matrix.target }}
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
- name: add target
run: rustup target add $TARGET
- name: build
run: cargo build --release --target $TARGET
- name: package
run: (cd target/${TARGET}/release && tar -czvf souper-${TARGET}.tar.gz souper)
- name: upload
run: |
TAG=$(echo ${{ github.ref }} | sed 's#refs/tags/##')
gh release upload $TAG target/${TARGET}/release/souper-${TARGET}.tar.gz
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
release-build-windows:
needs: create-release
runs-on: windows-latest
env:
TARGET: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@stable
- name: add target
run: rustup target add $env:TARGET
- name: build
run: cargo build --release --target $env:TARGET
- name: package
run: compress-archive -path "target/$env:TARGET/release/souper.exe" "target/$env:TARGET/release/souper-$env:TARGET.zip" -compressionlevel optimal
- name: upload
run: |
$env:TAG="$env:GH_REF" -replace "refs/tags/", ""
gh release upload $env:TAG "target/${env:TARGET}/release/souper-${env:TARGET}.zip"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REF: ${{ github.ref }}