Skip to content

v0.6.0

v0.6.0 #9

Workflow file for this run

name: Release
on:
release:
types:
- published
jobs:
release:
name: Release
runs-on: ${{ matrix.os }}
permissions:
contents: write
env:
RUST_BACKTRACE: 1
strategy:
matrix:
build: [linux, linux-arm, macos]
include:
# Linux
- build: linux
os: ubuntu-latest
target: x86_64-unknown-linux-musl
- build: linux-arm
os: ubuntu-latest
target: arm-unknown-linux-gnueabihf
# macOS
- build: macos
os: macos-latest
target: x86_64-apple-darwin
- build: macos-arm
os: macos-latest
target: aarch64-apple-darwin
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: true
- name: Install Rust
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
- name: Install Cross
run: cargo install cross
- name: Build release binary
run: cross build --verbose --release --target ${{ matrix.target }}
- name: Strip release binary (linux and macos)
if: matrix.build == 'linux' || matrix.build == 'macos'
run: strip "target/${{ matrix.target }}/release/dtsfmt"
- name: Strip release binary (arm)
if: matrix.build == 'linux-arm'
run: |
docker run --rm -v \
"$PWD/target:/target:Z" \
rustembedded/cross:arm-unknown-linux-gnueabihf \
arm-linux-gnueabihf-strip \
/target/arm-unknown-linux-gnueabihf/release/dtsfmt
- name: Build
run: |
asset="dtsfmt-${{ matrix.target }}"
cd target/${{ matrix.target }}/release
tar czvf ../../../$asset.tar.gz dtsfmt
echo "ASSET=$asset.tar.gz" >> $GITHUB_ENV
cd -
- name: Upload release archive
uses: shogo82148/actions-upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ env.ASSET }}
asset_content_type: application/octet-stream