mirror of
https://github.com/imsnif/bandwhich.git
synced 2026-02-09 01:59:18 +08:00
CI: Enable more cross-compiled builds (#401)
* CI: Enable more aarch64 builds * Use cross for linux-aarch64-* builds * Use `macos-14` explicitly for now - https://github.com/orgs/community/discussions/116911 - https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/ * Add targets in release.yaml * Write changelog * Fix typo * Passthrough `BANDWHICH_GEN_DIR` into cross container * Add armv7 targets
This commit is contained in:
26
.github/workflows/ci.yaml
vendored
26
.github/workflows/ci.yaml
vendored
@@ -58,8 +58,13 @@ jobs:
|
||||
matrix:
|
||||
build:
|
||||
- android-aarch64
|
||||
- linux-aarch64-gnu
|
||||
- linux-aarch64-musl
|
||||
- linux-armv7-gnueabihf
|
||||
- linux-armv7-musleabihf
|
||||
- linux-x64-gnu
|
||||
- linux-x64-musl
|
||||
- macos-aarch64
|
||||
- macos-x64
|
||||
- windows-x64-msvc
|
||||
rust:
|
||||
@@ -72,12 +77,29 @@ jobs:
|
||||
- build: android-aarch64
|
||||
target: aarch64-linux-android
|
||||
cargo: cross
|
||||
- build: linux-aarch64-gnu
|
||||
target: aarch64-unknown-linux-gnu
|
||||
cargo: cross
|
||||
- build: linux-aarch64-musl
|
||||
target: aarch64-unknown-linux-musl
|
||||
cargo: cross
|
||||
- build: linux-armv7-gnueabihf
|
||||
target: armv7-unknown-linux-gnueabihf
|
||||
cargo: cross
|
||||
- build: linux-armv7-musleabihf
|
||||
target: armv7-unknown-linux-musleabihf
|
||||
cargo: cross
|
||||
- build: linux-x64-gnu
|
||||
target: x86_64-unknown-linux-gnu
|
||||
- build: linux-x64-musl
|
||||
target: x86_64-unknown-linux-musl
|
||||
- build: macos-aarch64
|
||||
# Go back ot `macos-latest` after migration is complete
|
||||
# See https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/.
|
||||
os: macos-14
|
||||
target: aarch64-apple-darwin
|
||||
- build: macos-x64
|
||||
os: macos-latest
|
||||
os: macos-14
|
||||
target: x86_64-apple-darwin
|
||||
- build: windows-x64-msvc
|
||||
os: windows-latest
|
||||
@@ -95,7 +117,7 @@ jobs:
|
||||
|
||||
- name: Install cross
|
||||
if: matrix.cargo == 'cross'
|
||||
# The latest realese of `cross` is not able to build/link for `aarch64-linux-android`
|
||||
# The latest release of `cross` is not able to build/link for `aarch64-linux-android`
|
||||
# See: https://github.com/cross-rs/cross/issues/1222
|
||||
# This is fixed on `main` but not yet released. To avoid a breakage somewhen in the future
|
||||
# pin the cross revision used to the latest HEAD at 04/2024.
|
||||
|
||||
47
.github/workflows/release.yaml
vendored
47
.github/workflows/release.yaml
vendored
@@ -52,25 +52,45 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
build:
|
||||
- aarch64-linux-android
|
||||
- android-aarch64
|
||||
- linux-aarch64-gnu
|
||||
- linux-aarch64-musl
|
||||
- linux-armv7-gnueabihf
|
||||
- linux-armv7-musleabihf
|
||||
- linux-x64-gnu
|
||||
- linux-x64-musl
|
||||
- macos-aarch64
|
||||
- macos-x64
|
||||
- windows-x64-msvc
|
||||
include:
|
||||
- os: ubuntu-latest # default
|
||||
- cargo: cargo # default; overwrite with `cross` if necessary
|
||||
- build: aarch64-linux-android
|
||||
os: ubuntu-latest
|
||||
- build: android-aarch64
|
||||
target: aarch64-linux-android
|
||||
cargo: cross
|
||||
- build: linux-aarch64-gnu
|
||||
target: aarch64-unknown-linux-gnu
|
||||
cargo: cross
|
||||
- build: linux-aarch64-musl
|
||||
target: aarch64-unknown-linux-musl
|
||||
cargo: cross
|
||||
- build: linux-armv7-gnueabihf
|
||||
target: armv7-unknown-linux-gnueabihf
|
||||
cargo: cross
|
||||
- build: linux-armv7-musleabihf
|
||||
target: armv7-unknown-linux-musleabihf
|
||||
cargo: cross
|
||||
- build: linux-x64-gnu
|
||||
os: ubuntu-latest
|
||||
target: x86_64-unknown-linux-gnu
|
||||
- build: linux-x64-musl
|
||||
os: ubuntu-latest
|
||||
target: x86_64-unknown-linux-musl
|
||||
- build: macos-aarch64
|
||||
# Go back ot `macos-latest` after migration is complete
|
||||
# See https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/.
|
||||
os: macos-14
|
||||
target: aarch64-apple-darwin
|
||||
- build: macos-x64
|
||||
os: macos-latest
|
||||
os: macos-14
|
||||
target: x86_64-apple-darwin
|
||||
- build: windows-x64-msvc
|
||||
os: windows-latest
|
||||
@@ -86,13 +106,18 @@ jobs:
|
||||
toolchain: stable
|
||||
targets: ${{ matrix.target }}
|
||||
|
||||
- name: Install musl-tools
|
||||
if: matrix.target == 'x86_64-unknown-linux-musl'
|
||||
run: sudo apt-get install -y --no-install-recommends musl-tools
|
||||
|
||||
- name: Install cross
|
||||
if: matrix.cargo == 'cross'
|
||||
run: cargo install --git https://github.com/cross-rs/cross.git --rev 085092c cross
|
||||
# The latest release of `cross` is not able to build/link for `aarch64-linux-android`
|
||||
# See: https://github.com/cross-rs/cross/issues/1222
|
||||
# This is fixed on `main` but not yet released. To avoid a breakage somewhen in the future
|
||||
# pin the cross revision used to the latest HEAD at 04/2024.
|
||||
# Go back to taiki-e/install-action once cross 0.3 is released.
|
||||
uses: taiki-e/cache-cargo-install-action@v1
|
||||
with:
|
||||
tool: cross
|
||||
git: https://github.com/cross-rs/cross.git
|
||||
rev: 085092c
|
||||
|
||||
- name: Build release binary
|
||||
shell: bash
|
||||
|
||||
@@ -22,6 +22,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||||
* Add PID column to the process table #379 - @notjedi
|
||||
* CI: add builds for target `aarch64-linux-android` #384 - @flxo
|
||||
* CI: Keep GitHub Actions up to date with GitHub's Dependabot #403 - @cclauss
|
||||
* CI: Enable more cross-compiled builds #401 - @cyqsimon
|
||||
|
||||
## Changed
|
||||
|
||||
|
||||
2
Cross.toml
Normal file
2
Cross.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[build.env]
|
||||
passthrough = ["BANDWHICH_GEN_DIR"]
|
||||
Reference in New Issue
Block a user