diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6b02c088e5..2d279de05b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,9 +28,9 @@ jobs: target: x86_64-apple-darwin - os: macos-latest target: aarch64-apple-darwin -# - os: windows-latest -# target: x86_64-pc-windows-msvc -# ext: .exe + - os: windows-latest + target: x86_64-pc-windows-msvc + ext: .exe runs-on: ${{ matrix.os }} env: VERSION: '${{ github.event.release.name }}' diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 556225a33c..ba794fa076 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -78,16 +78,36 @@ jobs: include: - os: ubuntu-latest target: x86_64-unknown-linux-gnu + cargo-hack-feature-options: --feature-powerset - os: ubuntu-latest target: aarch64-unknown-linux-gnu + cargo-hack-feature-options: --feature-powerset - os: macos-latest target: x86_64-apple-darwin + cargo-hack-feature-options: --feature-powerset - os: macos-latest target: aarch64-apple-darwin -# - os: windows-latest -# target: x86_64-pc-windows-msvc + cargo-hack-feature-options: --feature-powerset + # Windows builds notes: + # + # The different features that need testing are split over unique + # isolated builds for Windows, because there's a bug in Cargo [1] that + # causes builds of wasm-opt [2] to fail when run one after the other and + # attempting to clean up artifacts in between. The bug has been fixed, + # but will not make it into a stable release of Cargo until ~August + # 2023. + # + # [1]: https://github.com/rust-lang/cargo/pull/11442 + # [2]: https://github.com/brson/wasm-opt-rs/issues/116 + - os: windows-latest-8-cores + target: x86_64-pc-windows-msvc + cargo-hack-feature-options: '' + - os: windows-latest-8-cores + target: x86_64-pc-windows-msvc + cargo-hack-feature-options: --features opt --ignore-unknown-features uses: stellar/actions/.github/workflows/rust-publish-dry-run-v2.yml@main with: crates: soroban-spec-tools soroban-spec-json soroban-spec-typescript soroban-test soroban-cli runs-on: ${{ matrix.os }} target: ${{ matrix.target }} + cargo-hack-feature-options: ${{ matrix.cargo-hack-feature-options }}