name: Build
on:
push:
tags:
- '*.*.*'
jobs:
x86_64-unknown-linux-gnu:
name: 64-bit Linux (kernel 2.6.32+, glibc 2.11+)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-unknown-linux-gnu
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target x86_64-unknown-linux-gnu
- run: cp ./target/x86_64-unknown-linux-gnu/release/feeless .
- run: tar czvf feeless-linux-64.tar.gz feeless
- uses: actions/upload-artifact@master
with:
name: feeless-linux-64.tar.gz
path: feeless-linux-64.tar.gz
armv7-unknown-linux-gnueabihf:
name: ARMv7 Linux, hardfloat (kernel 3.2, glibc 2.17)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: armv7-unknown-linux-gnueabihf
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target armv7-unknown-linux-gnueabihf
- run: cp ./target/armv7-unknown-linux-gnueabihf/release/feeless .
- run: tar czvf feeless-linux-armv7.tar.gz feeless
- uses: actions/upload-artifact@master
with:
name: feeless-linux-armv7.tar.gz
path: feeless-linux-armv7.tar.gz
x86_64-apple-darwin:
name: 64-bit macOS (10.7+, Lion+)
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-apple-darwin
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target x86_64-apple-darwin
- run: find .
- run: cp ./target/x86_64-apple-darwin/release/feeless .
- run: zip feeless-macos-64.tar.gz feeless
- uses: actions/upload-artifact@master
with:
name: feeless-macos-64.tar.gz
path: feeless-macos-64.tar.gz
x86_64-pc-windows-msvc:
name: 64-bit MSVC (Windows 7+)
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: x86_64-pc-windows-msvc
override: true
- uses: actions-rs/cargo@v1
with:
use-cross: true
command: build
args: --release --target x86_64-pc-windows-msvc
- run: cp ./target/x86_64-pc-windows-msvc/release/feeless.exe .
- run: 7z a feeless-win-64.zip feeless.exe
- uses: actions/upload-artifact@master
with:
name: feeless-win-64.zip
path: feeless-win-64.zip
release:
name: Release
needs:
- x86_64-unknown-linux-gnu
- armv7-unknown-linux-gnueabihf
- x86_64-apple-darwin
- x86_64-pc-windows-msvc
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@master
with:
path: .
- run: pwd
- run: find .
- uses: softprops/action-gh-release@v1
with:
fail_on_unmatched_files: true
files: |
feeless-linux-64.tar.gz/feeless-linux-64.tar.gz
feeless-linux-armv7.tar.gz/feeless-linux-armv7.tar.gz
feeless-macos-64.tar.gz/feeless-macos-64.tar.gz
feeless-win-64.zip/feeless-win-64.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}