Skip to content

test

test #7

Workflow file for this run

---
name: Release
on:
push:
tags:
- '*'
jobs:
ci:
name: Run CI
uses: ./.github/workflows/ci-reusable.yml
release:
needs: ci
runs-on: ${{ matrix.runs-on }}
timeout-minutes: 15
strategy:
fail-fast: false
matrix:
include:
- runs-on: windows-latest
target: x86_64-pc-windows-msvc
- runs-on: windows-latest
target: i686-pc-windows-msvc
- runs-on: windows-latest
target: aarch64-pc-windows-msvc
- runs-on: ubuntu-latest
target: x86_64-unknown-linux-musl
- runs-on: ubuntu-latest
target: i686-unknown-linux-musl
- runs-on: ubuntu-latest
target: aarch64-unknown-linux-musl
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy, rustfmt
rustflags: ""
target: ${{ matrix.target }}
- name: Install cross (linux)
if: ${{ matrix.runs-on == 'ubuntu-latest' }}
run: cargo install cross --git https://github.com/cross-rs/cross
- name: Build (linux)
if: ${{ matrix.runs-on == 'ubuntu-latest' }}
run: ~/.cargo/bin/cross build --release --all-features --target=${{ matrix.target }}
- name: Build (windows)
if: ${{ matrix.runs-on == 'windows-latest' }}
run: cargo build --release --all-features --target=${{ matrix.target }}
- name: Create a zip (windows)
if: ${{ matrix.runs-on == 'windows-latest' }}
run: |
mkdir release
cp LICENSE release/
cp target/${{ matrix.target }}/release/csm.exe release/
Compress-Archive -Path release/* -DestinationPath csm-${{ github.ref_name }}-${{ matrix.target }}.zip
echo "archive=csm-${{ github.ref_name }}-${{ matrix.target }}.zip" >> $GITHUB_OUTPUT
- name: Create a tar.gz (linux)
if: ${{ matrix.runs-on == 'ubuntu-latest' }}
run: |
mkdir release
cp LICENSE release/
cp target/${{ matrix.target }}/release/csm release/
tar -czvf csm-${{ github.ref_name }}-${{ matrix.target }}.tar.gz -C release .
echo "archive=csm-${{ github.ref_name }}-${{ matrix.target }}.tar.gz" >> $GITHUB_OUTPUT
- name: debug - echo the archive
run: echo ${{ steps.build.outputs.archive }}
- name: Release
uses: softprops/action-gh-release@v2
if: github.ref_type == 'tag'
with:
files: ${{ steps.build.outputs.archive }}