Skip to content

Update dependencies #68

Update dependencies

Update dependencies #68

Workflow file for this run

name: Build binaries
on:
push:
branches:
- unstable
- stable
- 0.2.0
tags:
- '*'
pull_request:
jobs:
linux:
name: Linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install cross compilers
run: |
sudo apt update
sudo apt install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf -y
- name: Set up Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
targets: aarch64-unknown-linux-gnu, armv7-unknown-linux-gnueabihf
- name: Build for x86_64
run: |
cargo build --release --target=x86_64-unknown-linux-gnu
strip target/x86_64-unknown-linux-gnu/release/highway
cp target/x86_64-unknown-linux-gnu/release/highway highway-linux-x86_64
- name: Build for aarch64
run: |
cargo build --release --target=aarch64-unknown-linux-gnu
aarch64-linux-gnu-strip target/aarch64-unknown-linux-gnu/release/highway
cp target/aarch64-unknown-linux-gnu/release/highway highway-linux-aarch64
- name: Build for armv7
run: |
cargo build --release --target=armv7-unknown-linux-gnueabihf
arm-linux-gnueabihf-strip target/armv7-unknown-linux-gnueabihf/release/highway
cp target/armv7-unknown-linux-gnueabihf/release/highway highway-linux-armv7
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: highway-linux
path: |
highway-linux-x86_64
highway-linux-aarch64
highway-linux-armv7
freebsd:
name: FreeBSD
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install toolchain
run: |
sudo apt install llvm clang -y
mkdir freebsd_sysroot
curl -s https://download.freebsd.org/ftp/releases/amd64/14.0-RELEASE/base.txz \
| tar -xJf - -C freebsd_sysroot ./lib ./usr/lib ./usr/libdata ./usr/include ./usr/share/keys ./etc
- name: Set up Rust for FreeBSD x86_64
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
targets: x86_64-unknown-freebsd
- name: Build for FreeBSD x86_64
run: |
cargo build --release --target=x86_64-unknown-freebsd
strip target/x86_64-unknown-freebsd/release/highway
cp target/x86_64-unknown-freebsd/release/highway highway-freebsd-x86_64
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: highway-freebsd
path: |
highway-freebsd-x86_64
macos:
name: MacOS
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Build
run: |
cargo build --release --target=x86_64-apple-darwin
strip target/x86_64-apple-darwin/release/highway
cp target/x86_64-apple-darwin/release/highway highway-macos
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: highway-macos
path: |
highway-macos
windows:
name: Windows
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Rust
uses: dtolnay/rust-toolchain@nightly
with:
components: rust-src
- name: Build
run: |
cargo build --release --target=x86_64-pc-windows-msvc
cp target/x86_64-pc-windows-msvc/release/highway.exe highway-windows.exe
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: highway-windows
path: |
highway-windows.exe