Skip to content

release-binaries

release-binaries #34

name: release-binaries
on:
release:
types: [published]
jobs:
linux-x86_64-musl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- name: Build binary
uses: actions-rs/cargo@v1
with:
command: build
args: --release --target x86_64-unknown-linux-musl
use-cross: true
- name: Optimize and package binary
run: |
cd target/x86_64-unknown-linux-musl/release
chmod +x rsgrad
tar -c rsgrad | gzip > rsgrad.tar.gz
- name: Upload binary
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
asset_name: rsgrad-${{ github.event.release.tag_name }}-linux-x86_64-musl.tar.gz
asset_path: target/x86_64-unknown-linux-musl/release/rsgrad.tar.gz
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip
linux-x86_64:
runs-on: ubuntu-latest
container: centos:7
steps:
- uses: actions/checkout@v1
- name: Install Rust
run: |
yum install -y gcc g++ which
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y --target x86_64-unknown-linux-musl x86_64-unknown-linux-gnu
echo $HOME/.cargo/bin >> $GITHUB_PATH
source $HOME/.cargo/env
which rustup
which cargo
- name: Build
run: |
cargo build --verbose --release
- name: Optimize and package binary
run: |
cd target/release
chmod +x rsgrad
tar -c rsgrad | gzip > rsgrad.tar.gz
- name: Upload binary
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
asset_name: rsgrad-${{ github.event.release.tag_name }}-linux-x86_64.tar.gz
asset_path: target/release/rsgrad.tar.gz
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip
macos-x86_64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- name: Build binary
uses: actions-rs/cargo@v1
with:
command: build
args: --release
use-cross: true
- name: Optimize and package binary
run: |
cd target/release
chmod +x rsgrad
tar -c rsgrad | gzip > rsgrad.tar.gz
- name: Upload binary
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
asset_name: rsgrad-${{ github.event.release.tag_name }}-macos-x86_64.tar.gz
asset_path: target/release/rsgrad.tar.gz
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip
windows-x86_64:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
default: true
- name: Build binary
uses: actions-rs/cargo@v1
with:
command: build
args: --release
use-cross: true
- name: Optimize and package binary
run: |
cd target/release
7z a rsgrad.zip rsgrad.exe
- name: Upload binary
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
asset_name: rsgrad-${{ github.event.release.tag_name }}-windows-x86_64.zip
asset_path: target/release/rsgrad.zip
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip