Skip to content

feat: add release build compilation #615

feat: add release build compilation

feat: add release build compilation #615

Workflow file for this run

# Using neosh's ci https:/neo-sh/neosh/blob/main/.github/workflows/build.yml
name: Build
on: [push, pull_request]
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- uses: Swatinem/rust-cache@v1
- name: Build Bob
uses: actions-rs/cargo@v1
with:
command: build
args: --locked --profile optimized
- name: Check lints
uses: actions-rs/cargo@v1
with:
command: clippy
args: --verbose -- -D warnings
- name: Upload Bob Linux binary
uses: actions/upload-artifact@v2
with:
name: "bob-linux-x86_64"
path: "target/optimized/bob"
if-no-files-found: error
retention-days: 7
linux-arm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-unknown-linux-gnu
profile: minimal
override: true
- name: Install aarch64 compiler
run: sudo apt-get update && sudo apt-get install -y gcc-aarch64-linux-gnu
- name: Change linker
run: |
mkdir .cargo
cat > .cargo/config << EOF
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
EOF
- uses: Swatinem/rust-cache@v1
- name: Build Bob
uses: actions-rs/cargo@v1
with:
command: build
args: --locked --profile optimized --target aarch64-unknown-linux-gnu
- name: Check lints
uses: actions-rs/cargo@v1
with:
command: clippy
args: --verbose -- -D warnings
- name: Upload Bob Linux-aarch64 binary
uses: actions/upload-artifact@v2
with:
name: "bob-linux-aarch64"
path: "target/aarch64-unknown-linux-gnu/optimized/bob"
if-no-files-found: error
retention-days: 7
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- uses: Swatinem/rust-cache@v1
- name: Build Bob
uses: actions-rs/cargo@v1
with:
command: build
args: --locked --profile optimized
- name: Check lints
uses: actions-rs/cargo@v1
with:
command: clippy
args: --verbose -- -D warnings
- name: Upload Bob MacOS binary
uses: actions/upload-artifact@v2
with:
name: "bob-macos-x86_64"
path: "target/optimized/bob"
if-no-files-found: error
retention-days: 7
macos-m1:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: aarch64-apple-darwin
profile: minimal
override: true
- uses: Swatinem/rust-cache@v1
- name: Build Bob
uses: actions-rs/cargo@v1
with:
command: build
args: --locked --profile optimized --target aarch64-apple-darwin
- name: Check lints
uses: actions-rs/cargo@v1
with:
command: clippy
args: --verbose -- -D warnings
- name: Upload Bob M1 MacOS binary
uses: actions/upload-artifact@v2
with:
name: "bob-macos-arm"
path: "target/aarch64-apple-darwin/optimized/bob"
if-no-files-found: error
retention-days: 7
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- uses: Swatinem/rust-cache@v1
- name: Build Bob
uses: actions-rs/cargo@v1
with:
command: build
args: --locked --profile optimized
- name: Check lints
uses: actions-rs/cargo@v1
with:
command: clippy
args: --verbose -- -D warnings
- name: Setup Bob build directory
run: |
mkdir build
copy .\\bin\\vcruntime140.dll .\\build
copy .\\target\\optimized\\bob.exe .\\build
- name: Upload Bob Windows build
uses: actions/upload-artifact@v2
with:
name: "bob-windows-x86_64"
path: "build"
if-no-files-found: error
retention-days: 7