name: build
on:
push:
tags:
- "v*"
jobs:
build-linux-x64:
runs-on: ubuntu-latest
strategy:
matrix:
target:
- "x86_64-unknown-linux-gnu"
- "x86_64-unknown-linux-musl"
steps:
- uses: actions/checkout@v2
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target ${{ matrix.target }}
- run: mv target/${{ matrix.target }}/release/airmux target/airmux-${{ matrix.target }}
- run: strip target/airmux-${{ matrix.target }}
- uses: svenstaro/upx-action@v2
with:
file: target/airmux-${{ matrix.target }}
args: --best --lzma
- uses: softprops/action-gh-release@v1
with:
files: target/airmux-${{ matrix.target }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-linux-armv7:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target armv7-unknown-linux-musleabihf
- run: mv target/armv7-unknown-linux-musleabihf/release/airmux target/airmux-armv7-unknown-linux-musleabihf
- run: >-
docker run --rm
--volume $PWD:/build
rustembedded/cross:armv7-unknown-linux-musleabihf-0.2.1
arm-linux-musleabihf-strip
/build/target/airmux-armv7-unknown-linux-musleabihf
- uses: svenstaro/upx-action@v2
with:
file: target/airmux-armv7-unknown-linux-musleabihf
strip: false
args: --best --lzma
- uses: softprops/action-gh-release@v1
with:
files: target/airmux-armv7-unknown-linux-musleabihf
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-darwin:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --target x86_64-apple-darwin
- run: mv target/x86_64-apple-darwin/release/airmux target/airmux-x86_64-apple-darwin
- uses: svenstaro/upx-action@v2
with:
file: target/airmux-x86_64-apple-darwin
args: --best
- uses: softprops/action-gh-release@v1
with:
files: target/airmux-x86_64-apple-darwin
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/cargo@v1
with:
command: build
args: --release --target x86_64-pc-windows-msvc
- run: ren target/x86_64-pc-windows-msvc/release/airmux.exe airmux-x86_64-pc-windows-msvc.exe
- uses: svenstaro/upx-action@v2
with:
file: target/x86_64-pc-windows-msvc/release/airmux-x86_64-pc-windows-msvc.exe
args: -9
- uses: softprops/action-gh-release@v1
with:
files: target/x86_64-pc-windows-msvc/release/airmux-x86_64-pc-windows-msvc.exe
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}