From 34a6d7a989a0105597bb9635e0d16510dc6b194d Mon Sep 17 00:00:00 2001 From: Talal Ashraf Date: Thu, 30 May 2024 16:46:19 -0400 Subject: [PATCH 1/6] chore: add macos build --- .../build-docker-image-and-binaries.yaml | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index 8c6d023b..f87c0727 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -63,6 +63,32 @@ jobs: TOFND_PATH="/Users/runner/work/tofnd/tofnd/target/release" fi + - name: build darwin binaries + env: + SEMVER: ${{ github.event.inputs.tag }} + if: matrix.os == 'macos-latest' + run: | + OS="darwin" + ARCH="${{ matrix.arch }}" + 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 + mkdir -p tofndbin + mv /Users/runner/work/tofnd/tofnd/target/aarch64-apple-darwin/release/tofnd "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" + else + export HOMEBREW_NO_INSTALL_CLEANUP=TRUE + brew uninstall --ignore-dependencies gmp + ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=x86_64_sonoma gmp | grep Downloaded | awk '{print $3}') + brew install "$ARM_DEPENDENCY" + cargo install --locked --path . + mkdir -p tofndbin + 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 }} @@ -71,8 +97,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 From 91ac1575740fcd2d4d50ccca1046f6be6cac8cb8 Mon Sep 17 00:00:00 2001 From: Stelios Daveas <48155711+sdaveas@users.noreply.github.com> Date: Tue, 4 Jun 2024 20:01:35 +0300 Subject: [PATCH 2/6] fix: compile arm64 and amd64 archs (#328) --- .github/workflows/build-docker-image-and-binaries.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index f87c0727..fecaee16 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -72,6 +72,8 @@ jobs: ARCH="${{ matrix.arch }}" if [ "$ARCH" == "arm64" ] then + export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH + export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH 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}') @@ -81,9 +83,14 @@ jobs: mkdir -p tofndbin mv /Users/runner/work/tofnd/tofnd/target/aarch64-apple-darwin/release/tofnd "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" else + export RUSTFLAGS="-L/opt/homebrew/lib" + export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH + export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH + export C_INCLUDE_PATH=/opt/homebrew/include:$C_INCLUDE_PATH + export CPLUS_INCLUDE_PATH=/opt/homebrew/include:$CPLUS_INCLUDE_PATH export HOMEBREW_NO_INSTALL_CLEANUP=TRUE brew uninstall --ignore-dependencies gmp - ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=x86_64_sonoma gmp | grep Downloaded | awk '{print $3}') + ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=arm64_sonoma gmp | grep Downloaded | awk '{print $3}') brew install "$ARM_DEPENDENCY" cargo install --locked --path . mkdir -p tofndbin From bc6b879bb26c6a558f056837c30663c5357b4ce2 Mon Sep 17 00:00:00 2001 From: Talal Ashraf Date: Tue, 4 Jun 2024 16:01:28 -0400 Subject: [PATCH 3/6] - PR comments --- .../workflows/build-docker-image-and-binaries.yaml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index fecaee16..cbb9ea46 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -71,25 +71,20 @@ jobs: OS="darwin" ARCH="${{ matrix.arch }}" if [ "$ARCH" == "arm64" ] + export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH + export HOMEBREW_NO_INSTALL_CLEANUP=TRUE + export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH + brew uninstall --ignore-dependencies gmp then - export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH - export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH - 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 mkdir -p tofndbin mv /Users/runner/work/tofnd/tofnd/target/aarch64-apple-darwin/release/tofnd "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" else export RUSTFLAGS="-L/opt/homebrew/lib" - export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH - export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH export C_INCLUDE_PATH=/opt/homebrew/include:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/opt/homebrew/include:$CPLUS_INCLUDE_PATH - 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" cargo install --locked --path . From be8f821a12332ba20c03715dd1cc6a1c56c0c3f3 Mon Sep 17 00:00:00 2001 From: Talal Ashraf Date: Tue, 4 Jun 2024 16:34:07 -0400 Subject: [PATCH 4/6] - Fix if/else block --- .github/workflows/build-docker-image-and-binaries.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index cbb9ea46..fb6078e0 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -70,25 +70,29 @@ jobs: run: | OS="darwin" ARCH="${{ matrix.arch }}" - if [ "$ARCH" == "arm64" ] + export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH export HOMEBREW_NO_INSTALL_CLEANUP=TRUE export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH brew uninstall --ignore-dependencies gmp + mkdir -p tofndbin + + if [ "$ARCH" == "arm64" ] then ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=arm64_sonoma gmp | grep Downloaded | awk '{print $3}') rustup target add aarch64-apple-darwin + cargo build --release --target aarch64-apple-darwin - mkdir -p tofndbin mv /Users/runner/work/tofnd/tofnd/target/aarch64-apple-darwin/release/tofnd "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" else export RUSTFLAGS="-L/opt/homebrew/lib" export C_INCLUDE_PATH=/opt/homebrew/include:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/opt/homebrew/include:$CPLUS_INCLUDE_PATH ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=arm64_sonoma gmp | grep Downloaded | awk '{print $3}') + brew install "$ARM_DEPENDENCY" cargo install --locked --path . - mkdir -p tofndbin + mv "/Users/runner/work/tofnd/tofnd/target/release/tofnd" "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" fi - name: build linux binaries From b94e4e4c5bf30fa41547d2df8243f5efb34bddc0 Mon Sep 17 00:00:00 2001 From: Stelios Daveas <48155711+sdaveas@users.noreply.github.com> Date: Fri, 5 Jul 2024 11:30:10 +0300 Subject: [PATCH 5/6] fix: arm64/amd64 gmp installation (#329) --- .../build-docker-image-and-binaries.yaml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index fb6078e0..c382fd12 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -72,27 +72,24 @@ jobs: ARCH="${{ matrix.arch }}" export LIBRARY_PATH=/opt/homebrew/lib:$LIBRARY_PATH - export HOMEBREW_NO_INSTALL_CLEANUP=TRUE export LD_LIBRARY_PATH=/opt/homebrew/lib:$LD_LIBRARY_PATH - brew uninstall --ignore-dependencies gmp + 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 - export RUSTFLAGS="-L/opt/homebrew/lib" - export C_INCLUDE_PATH=/opt/homebrew/include:$C_INCLUDE_PATH - export CPLUS_INCLUDE_PATH=/opt/homebrew/include:$CPLUS_INCLUDE_PATH - ARM_DEPENDENCY=$(brew fetch --force --bottle-tag=arm64_sonoma gmp | grep Downloaded | awk '{print $3}') - - brew install "$ARM_DEPENDENCY" cargo install --locked --path . - mv "/Users/runner/work/tofnd/tofnd/target/release/tofnd" "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" fi - name: build linux binaries From 12d91e6b9a6453cc72cc5f79b72b9f6b69b87419 Mon Sep 17 00:00:00 2001 From: Milap Sheth Date: Fri, 5 Jul 2024 04:31:53 -0400 Subject: [PATCH 6/6] Apply suggestions from code review --- .github/workflows/build-docker-image-and-binaries.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-docker-image-and-binaries.yaml b/.github/workflows/build-docker-image-and-binaries.yaml index c382fd12..333ff221 100644 --- a/.github/workflows/build-docker-image-and-binaries.yaml +++ b/.github/workflows/build-docker-image-and-binaries.yaml @@ -63,7 +63,7 @@ jobs: TOFND_PATH="/Users/runner/work/tofnd/tofnd/target/release" fi - - name: build darwin binaries + - name: Build Mac OS binaries env: SEMVER: ${{ github.event.inputs.tag }} if: matrix.os == 'macos-latest' @@ -92,7 +92,7 @@ jobs: cargo install --locked --path . mv "/Users/runner/work/tofnd/tofnd/target/release/tofnd" "./tofndbin/tofnd-$OS-$ARCH-$SEMVER" fi - - name: build linux binaries + - name: Build Linux binaries env: SEMVER: ${{ github.event.inputs.tag }} if: matrix.os == 'ubuntu-latest'