Skip to content

0.5.0

0.5.0 #65

name: release-binaries
on:
release:
types: [published]
env:
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
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: |
sed -i.bak \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://vault.centos.org/centos|g' \
/etc/yum.repos.d/CentOS-Base.repo
yum makecache
yum group install -y 'Development Tools'
yum install -y which
yum install -y epel-release
yum install -y cmake3
alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake 10 \
--slave /usr/local/bin/ctest ctest /usr/bin/ctest \
--slave /usr/local/bin/cpack cpack /usr/bin/cpack \
--slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake \
--family cmake
alternatives --install /usr/local/bin/cmake cmake /usr/bin/cmake3 20 \
--slave /usr/local/bin/ctest ctest /usr/bin/ctest3 \
--slave /usr/local/bin/cpack cpack /usr/bin/cpack3 \
--slave /usr/local/bin/ccmake ccmake /usr/bin/ccmake3 \
--family cmake
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y --target 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 --target x86_64-unknown-linux-gnu
- name: Optimize and package binary
run: |
cd target/x86_64-unknown-linux-gnu/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/x86_64-unknown-linux-gnu/release/rsgrad.tar.gz
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip
macos-x86_64:
runs-on: macos-13
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-apple-darwin
use-cross: true
- name: Optimize and package binary
run: |
cd target/x86_64-apple-darwin/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/x86_64-apple-darwin/release/rsgrad.tar.gz
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip
macos-aarch64:
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 --target aarch64-apple-darwin
use-cross: true
- name: Optimize and package binary
run: |
cd target/aarch64-apple-darwin/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-aarch64.tar.gz
asset_path: target/aarch64-apple-darwin/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 --target x86_64-pc-windows-msvc
use-cross: true
- name: Optimize and package binary
run: |
cd target/x86_64-pc-windows-msvc/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/x86_64-pc-windows-msvc/release/rsgrad.zip
upload_url: ${{ github.event.release.upload_url }}
asset_content_type: application/zip