This commit is contained in:
Yota Toyama
2026-09-25 20:54:55 -07:00
parent 6e18b7b12b
commit df593ee27c
3 changed files with 52 additions and 26 deletions
+11
View File
@@ -0,0 +1,11 @@
name: setup
description: Sets up a build environment
inputs: {}
outputs: {}
runs:
using: composite
steps:
- uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
- uses: raviqqe/enable-homebrew@6bd383659a321c332bd0c0ed445c32d54e04efe8 # v1.0.5
- run: brew install autoconf automake libtool
shell: sh
+39 -19
View File
@@ -18,9 +18,9 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: true
- uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
- uses: ./.github/actions/setup
- run: cargo build
autotools:
unit_test:
strategy:
fail-fast: false
matrix:
@@ -33,23 +33,8 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: true
- uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
- uses: ./.github/actions/setup
- run: cargo test
cmake:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-26.04-arm
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: true
- uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
- run: cargo build --no-default-features --features cmake
examples:
strategy:
fail-fast: false
@@ -63,5 +48,40 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: true
- uses: swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2.9.2
- uses: ./.github/actions/setup
- run: tools/example_test.sh
cmake:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-26.04-arm
- macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
submodules: true
- uses: ./.github/actions/setup
- run: cargo build --no-default-features --features cmake
test:
needs:
- build
- unit_test
- examples
- cmake
if: always()
runs-on: ubuntu-latest
steps:
- run: for result in ${{ join(needs.*.result, ' ') }}; do [ $result = success ]; done
test:
needs:
- build
- autotools
- cmake
- examples
if: always()
runs-on: ubuntu-latest
steps:
- run: for result in ${{ join(needs.*.result, ' ') }}; do [ $result = success ]; done
+2 -7
View File
@@ -52,14 +52,8 @@ cfg_select! {
}
feature = "autotools" => {
fn build_library() -> Result<(), Box<dyn Error>> {
for dir in &[LIB_ATOMIC_OPS_DIR, LIB_GC_DIR] {
std::process::Command::new("sh")
.arg("-c")
.arg(format!("cd {dir} && ./autogen.sh"))
.output()?;
}
let dst = autotools::Config::new(LIB_ATOMIC_OPS_DIR)
.reconf("-i")
.cflag("-fPIC")
.build();
@@ -70,6 +64,7 @@ cfg_select! {
println!("cargo:rustc-link-lib=static=atomic_ops");
let dst = autotools::Config::new(LIB_GC_DIR)
.reconf("-i")
.cflag(format!(
// spell-checker: disable-next-line
"-I{} -L/lib/x86_64-linux-gnu -lpthread -fPIC",