From df593ee27ce0979f03128aca62df3edd5d205f9f Mon Sep 17 00:00:00 2001 From: Yota Toyama Date: Fri, 25 Sep 2026 20:54:55 -0700 Subject: [PATCH] Fix --- .github/actions/setup/action.yaml | 11 ++++++ .github/workflows/test.yaml | 58 +++++++++++++++++++++---------- bdwgc-alloc-sys/build.rs | 9 ++--- 3 files changed, 52 insertions(+), 26 deletions(-) create mode 100644 .github/actions/setup/action.yaml diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml new file mode 100644 index 0000000..4d8d77d --- /dev/null +++ b/.github/actions/setup/action.yaml @@ -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 diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index a5755b4..2727ab0 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -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 diff --git a/bdwgc-alloc-sys/build.rs b/bdwgc-alloc-sys/build.rs index a2e82bf..ca177f5 100644 --- a/bdwgc-alloc-sys/build.rs +++ b/bdwgc-alloc-sys/build.rs @@ -52,14 +52,8 @@ cfg_select! { } feature = "autotools" => { fn build_library() -> Result<(), Box> { - 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",