diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index 8c6d023b..333ff221 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -63,7 +63,36 @@ jobs: TOFND_PATH="/Users/runner/work/tofnd/tofnd/target/release" fi - - name: build linux binaries + - name: Build Mac OS binaries + env: + SEMVER: ${{ github.event.inputs.tag }} + if: matrix.os == 'macos-latest' + run: | + OS="darwin" + ARCH="${{ matrix.arch }}" + + export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH + export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH + + mkdir -p tofndbin + + if [ "$ARCH" == "arm64" ] + then + export HOMEBREW_NO_INSTALL_CLEANUP=TRUE + + brew uninstall --ignore-dependencies gmp + ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=arm64_sonoma gmp | grep Downloaded | awk '{print $3}') + brew install "$ARM_DEPENDENCY" + + rustup target add aarch64-apple-darwin + + cargo build --release --target aarch64-apple-darwin + mv /Users/runner/work/tofnd/tofnd/target/aarch64-apple-darwin/release/tofnd "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" + else + cargo install --locked --path . + mv "/Users/runner/work/tofnd/tofnd/target/release/tofnd" "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" + fi + - name: Build Linux binaries env: SEMVER: ${{ github.event.inputs.tag }} if: matrix.os == 'ubuntu-latest' @@ -71,8 +100,8 @@ jobs: OS="linux" ARCH="${{ matrix.arch }}" cargo install --locked --path . - mkdir tofndbin - mv "$TOFND_PATH/tofnd" "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" + mkdir -p tofndbin + mv "/home/runner/.cargo/bin/tofnd" "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" - name: Test tofnd version working-directory: ./tofndbin