From 62eeee2d14a06e2a08c54692b8cf6ee4c72a69c9 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Mon, 24 Jun 2024 22:01:18 +0100 Subject: [PATCH 01/19] chore: add back nim build for windows --- .github/workflows/test-nim-bindings.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index b53402c4..9ac590ba 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -15,8 +15,7 @@ jobs: strategy: matrix: - # TODO: Add back windows-latest - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest, windows-latest, macos-latest] steps: - name: Checkout repository From 8c4f82658b3e0d6d3f3f2415f9525c20207f671e Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Mon, 24 Jun 2024 23:13:37 +0100 Subject: [PATCH 02/19] chore: verbose to ci --- .github/workflows/test-nim-bindings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 60d5cfe7..7064908b 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -40,4 +40,4 @@ jobs: - name: Test Nim project working-directory: bindings/nim/nim_code - run: nimble test -Y + run: nimble test -Y --verbose From 1542cd276bf483f09d8808ede69e164a6bfe3343 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Mon, 24 Jun 2024 23:19:57 +0100 Subject: [PATCH 03/19] chore: add zigbuild --- .github/workflows/test-csharp-bindings.yml | 3 +++ .github/workflows/test-golang-bindings.yml | 3 +++ .github/workflows/test-java-bindings.yml | 3 +++ .github/workflows/test-nim-bindings.yml | 3 +++ scripts/compile_to_native.sh | 6 +++--- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-csharp-bindings.yml b/.github/workflows/test-csharp-bindings.yml index b57e305e..eda7953a 100644 --- a/.github/workflows/test-csharp-bindings.yml +++ b/.github/workflows/test-csharp-bindings.yml @@ -24,6 +24,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + - name: Add zigbuild + run: cargo install cargo-zigbuild + - name: Run compile script run: ./scripts/compile.sh csharp shell: bash diff --git a/.github/workflows/test-golang-bindings.yml b/.github/workflows/test-golang-bindings.yml index 95fe0593..6d01646b 100644 --- a/.github/workflows/test-golang-bindings.yml +++ b/.github/workflows/test-golang-bindings.yml @@ -24,6 +24,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + - name: Add zigbuild + run: cargo install cargo-zigbuild + - name: Run compile script run: ./scripts/compile.sh golang shell: bash diff --git a/.github/workflows/test-java-bindings.yml b/.github/workflows/test-java-bindings.yml index cb69941b..55abb947 100644 --- a/.github/workflows/test-java-bindings.yml +++ b/.github/workflows/test-java-bindings.yml @@ -23,6 +23,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + + - name: Add zigbuild + run: cargo install cargo-zigbuild - name: Run compile script run: ./scripts/compile.sh java diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 7064908b..ff19c75d 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -24,6 +24,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + - name: Add zigbuild + run: cargo install cargo-zigbuild + - name: Run compile script run: ./scripts/compile.sh nim shell: bash diff --git a/scripts/compile_to_native.sh b/scripts/compile_to_native.sh index 9dd82462..59096952 100755 --- a/scripts/compile_to_native.sh +++ b/scripts/compile_to_native.sh @@ -138,8 +138,8 @@ if [[ "$ARCH" == "universal" ]]; then check_rust_target_installed "x86_64-apple-darwin" check_rust_target_installed "aarch64-apple-darwin" - cargo build --release --target=x86_64-apple-darwin - cargo build --release --target=aarch64-apple-darwin + cargo zigbuild --release --target=x86_64-apple-darwin + cargo zigbuild --release --target=aarch64-apple-darwin # Create the universal binary mkdir -p "$OUT_DIR/$TARGET_NAME" @@ -153,7 +153,7 @@ if [[ "$ARCH" == "universal" ]]; then else check_rust_target_installed "$TARGET_NAME" - cargo build --release --target=$TARGET_NAME + cargo zigbuild --release --target=$TARGET_NAME # Create the output directory if it doesn't exist mkdir -p "$OUT_DIR/$TARGET_NAME" From 94d881d914a1f065c9ea5d706cfa048a42b2d880 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:11:11 +0100 Subject: [PATCH 04/19] chore: setup zig --- .github/workflows/test-nim-bindings.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index ff19c75d..9b8ed0d8 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -24,6 +24,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + - name: Setup Zig + uses: goto-bus-stop/setup-zig@v2 + - name: Add zigbuild run: cargo install cargo-zigbuild From 0a326f5d9204ad60c13b24885ac1132565853698 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:11:54 +0100 Subject: [PATCH 05/19] chore: add zig --- .github/workflows/test-csharp-bindings.yml | 3 +++ .github/workflows/test-golang-bindings.yml | 3 +++ .github/workflows/test-java-bindings.yml | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-csharp-bindings.yml b/.github/workflows/test-csharp-bindings.yml index eda7953a..1f1d32fb 100644 --- a/.github/workflows/test-csharp-bindings.yml +++ b/.github/workflows/test-csharp-bindings.yml @@ -24,6 +24,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + - name: Setup Zig + uses: goto-bus-stop/setup-zig@v2 + - name: Add zigbuild run: cargo install cargo-zigbuild diff --git a/.github/workflows/test-golang-bindings.yml b/.github/workflows/test-golang-bindings.yml index 6d01646b..9615f46f 100644 --- a/.github/workflows/test-golang-bindings.yml +++ b/.github/workflows/test-golang-bindings.yml @@ -24,6 +24,9 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable + - name: Setup Zig + uses: goto-bus-stop/setup-zig@v2 + - name: Add zigbuild run: cargo install cargo-zigbuild diff --git a/.github/workflows/test-java-bindings.yml b/.github/workflows/test-java-bindings.yml index 55abb947..4dc05492 100644 --- a/.github/workflows/test-java-bindings.yml +++ b/.github/workflows/test-java-bindings.yml @@ -23,7 +23,10 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable - + + - name: Setup Zig + uses: goto-bus-stop/setup-zig@v2 + - name: Add zigbuild run: cargo install cargo-zigbuild From e63bee56abd7e37d271077bde23b95790fbf651b Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:22:32 +0100 Subject: [PATCH 06/19] chore: switch to msvc --- scripts/compile_to_native.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/compile_to_native.sh b/scripts/compile_to_native.sh index 59096952..401ed0df 100755 --- a/scripts/compile_to_native.sh +++ b/scripts/compile_to_native.sh @@ -122,7 +122,7 @@ case "$OS" in # Github runners will return MINGW64_NT-10.0-20348 # so we add a wildcard to match the prefix MINGW64_NT-*|CYGWIN_NT-*|"Windows") - TARGET_NAME="x86_64-pc-windows-gnu" + TARGET_NAME="x86_64-pc-windows-msvc" STATIC_LIB_NAME="lib${LIB_NAME}.a" DYNAMIC_LIB_NAME="${LIB_NAME}.dll" ;; From 942a1b6e08f5ff5df9ed5e7b1a83369ecbdc24d7 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:30:02 +0100 Subject: [PATCH 07/19] chore: add portable flag to see interaction with -Zl flag --- bls12_381/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bls12_381/Cargo.toml b/bls12_381/Cargo.toml index 4a61424a..148a6342 100644 --- a/bls12_381/Cargo.toml +++ b/bls12_381/Cargo.toml @@ -13,7 +13,7 @@ repository = { workspace = true } [dependencies] rayon = { workspace = true } -blst = { version = "0.3.1", default-features = false } +blst = { version = "0.3.1", default-features = false, features = ["portable"] } # __private_bench feature is used to allow us to access the base field blstrs = { version = "0.7.1", features = ["__private_bench"] } From 5cbbaa7b75f849dcac488205e67b472792a07c89 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:36:18 +0100 Subject: [PATCH 08/19] chore: use regular cargo build (blst won't compile with zigbuild on windows) --- scripts/compile_to_native.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/compile_to_native.sh b/scripts/compile_to_native.sh index 401ed0df..d592e3f4 100755 --- a/scripts/compile_to_native.sh +++ b/scripts/compile_to_native.sh @@ -138,8 +138,8 @@ if [[ "$ARCH" == "universal" ]]; then check_rust_target_installed "x86_64-apple-darwin" check_rust_target_installed "aarch64-apple-darwin" - cargo zigbuild --release --target=x86_64-apple-darwin - cargo zigbuild --release --target=aarch64-apple-darwin + cargo build --release --target=x86_64-apple-darwin + cargo build --release --target=aarch64-apple-darwin # Create the universal binary mkdir -p "$OUT_DIR/$TARGET_NAME" @@ -153,7 +153,7 @@ if [[ "$ARCH" == "universal" ]]; then else check_rust_target_installed "$TARGET_NAME" - cargo zigbuild --release --target=$TARGET_NAME + cargo build --release --target=$TARGET_NAME # Create the output directory if it doesn't exist mkdir -p "$OUT_DIR/$TARGET_NAME" From 4d353ecff4c94f849c3cba0f2e532798777d1eb3 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:39:52 +0100 Subject: [PATCH 09/19] chore: update blst to 0.3.12 --- bls12_381/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bls12_381/Cargo.toml b/bls12_381/Cargo.toml index 148a6342..678ce231 100644 --- a/bls12_381/Cargo.toml +++ b/bls12_381/Cargo.toml @@ -13,7 +13,7 @@ repository = { workspace = true } [dependencies] rayon = { workspace = true } -blst = { version = "0.3.1", default-features = false, features = ["portable"] } +blst = { version = "0.3.12", default-features = false, features = ["portable"] } # __private_bench feature is used to allow us to access the base field blstrs = { version = "0.7.1", features = ["__private_bench"] } From a54cab1b256010e0e111f0d1bf6abc533265adf0 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:47:24 +0100 Subject: [PATCH 10/19] chore: remove lib prefix for msvc --- scripts/compile_to_native.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/compile_to_native.sh b/scripts/compile_to_native.sh index d592e3f4..a0e5a95a 100755 --- a/scripts/compile_to_native.sh +++ b/scripts/compile_to_native.sh @@ -123,7 +123,7 @@ case "$OS" in # so we add a wildcard to match the prefix MINGW64_NT-*|CYGWIN_NT-*|"Windows") TARGET_NAME="x86_64-pc-windows-msvc" - STATIC_LIB_NAME="lib${LIB_NAME}.a" + STATIC_LIB_NAME="${LIB_NAME}.a" DYNAMIC_LIB_NAME="${LIB_NAME}.dll" ;; *) From 9a0fbdfc2dd685d5844b49bfaa94cce771abdc8e Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:51:09 +0100 Subject: [PATCH 11/19] chore: remove zigbuild for nim --- .github/workflows/test-nim-bindings.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 9b8ed0d8..ab9b3c3b 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -24,11 +24,11 @@ jobs: - name: Set up Rust uses: dtolnay/rust-toolchain@stable - - name: Setup Zig - uses: goto-bus-stop/setup-zig@v2 + # - name: Setup Zig + # uses: goto-bus-stop/setup-zig@v2 - - name: Add zigbuild - run: cargo install cargo-zigbuild + # - name: Add zigbuild + # run: cargo install cargo-zigbuild - name: Run compile script run: ./scripts/compile.sh nim From b42479cbf264ef8f179c77ecbb979cc9522bb38d Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:51:59 +0100 Subject: [PATCH 12/19] chore: modify name for windows --- bindings/nim/nim_code/nim_peerdas_kzg/bindings.nim | 2 +- bindings/nim/nim_code/nim_peerdas_kzg/build_utils.nim | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bindings/nim/nim_code/nim_peerdas_kzg/bindings.nim b/bindings/nim/nim_code/nim_peerdas_kzg/bindings.nim index acc42057..2c2952bd 100644 --- a/bindings/nim/nim_code/nim_peerdas_kzg/bindings.nim +++ b/bindings/nim/nim_code/nim_peerdas_kzg/bindings.nim @@ -7,7 +7,7 @@ export header when defined(windows): # For gnu toolchain, the extension is .a since it uses the linux toolchain # This will need to be changed if we switch to the msvc toolchain - const libName = "libc_peerdas_kzg.a" + const libName = "c_peerdas_kzg.lib" else: const libName = "libc_peerdas_kzg.a" diff --git a/bindings/nim/nim_code/nim_peerdas_kzg/build_utils.nim b/bindings/nim/nim_code/nim_peerdas_kzg/build_utils.nim index 642cd732..11113db4 100644 --- a/bindings/nim/nim_code/nim_peerdas_kzg/build_utils.nim +++ b/bindings/nim/nim_code/nim_peerdas_kzg/build_utils.nim @@ -3,7 +3,7 @@ import os const buildDir = "build" universalAppleDarwin {.used.} = buildDir / "universal-apple-darwin" - x86_64PcWindowsGnu {.used.} = buildDir / "x86_64-pc-windows-gnu" + x86_64PcWindowsMsvc {.used.} = buildDir / "x86_64-pc-windows-msvc" x86_64UnknownLinuxGnu {.used.} = buildDir / "x86_64-unknown-linux-gnu" aarch64UnknownLinuxGnu {.used.} = buildDir / "aarch64-unknown-linux-gnu" @@ -15,7 +15,7 @@ proc getInstallDir*(): string = raise newException(ValueError, "Unsupported architecture on macOS") elif defined(windows): when defined(amd64): - return x86_64PcWindowsGnu + return x86_64PcWindowsMsvc else: raise newException(ValueError, "Unsupported architecture on Windows") elif defined(linux): From 4a03d35dfae08ac745cc3355b305e153cbd87441 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 12:52:27 +0100 Subject: [PATCH 13/19] chore: modify extension to use .lib --- scripts/compile_to_native.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/compile_to_native.sh b/scripts/compile_to_native.sh index a0e5a95a..876f41aa 100755 --- a/scripts/compile_to_native.sh +++ b/scripts/compile_to_native.sh @@ -123,7 +123,7 @@ case "$OS" in # so we add a wildcard to match the prefix MINGW64_NT-*|CYGWIN_NT-*|"Windows") TARGET_NAME="x86_64-pc-windows-msvc" - STATIC_LIB_NAME="${LIB_NAME}.a" + STATIC_LIB_NAME="${LIB_NAME}.lib" DYNAMIC_LIB_NAME="${LIB_NAME}.dll" ;; *) From 0a5a9eac033f788f3cf274e110667b48c30a3258 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 13:10:46 +0100 Subject: [PATCH 14/19] chore: modify nim to use the stable version --- .github/workflows/test-nim-bindings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index ab9b3c3b..2402138b 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -38,7 +38,7 @@ jobs: uses: jiro4989/setup-nim-action@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - nim-version: '2.0.4' + nim-version: 'stable' - name: Install Nimble dependencies working-directory: bindings/nim/nim_code From 59c297763d57f932c4d7c9ff98c3e595c0b06a48 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 13:24:34 +0100 Subject: [PATCH 15/19] chore: add global nim_cc env variable --- .github/workflows/test-nim-bindings.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 2402138b..d42ffd6b 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -9,6 +9,9 @@ on: - master workflow_dispatch: +env: + NIM_CC: vcc + jobs: build-and-test: runs-on: ${{ matrix.os }} From 8d492dfdcac20c7c0b2d52caac34a4ed44badfb0 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 13:45:53 +0100 Subject: [PATCH 16/19] chore: add msbuild --- .github/workflows/test-nim-bindings.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index d42ffd6b..87d76522 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -24,6 +24,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v2 + if: runner.os == 'Windows' + - name: Set up Rust uses: dtolnay/rust-toolchain@stable From 1e0a3680a3c167efa91aade813d7b7d2a2cf0f67 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 14:04:04 +0100 Subject: [PATCH 17/19] chore: try using choosenim manually (without caching) --- .github/workflows/test-nim-bindings.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 87d76522..80d3c0a6 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -41,11 +41,18 @@ jobs: run: ./scripts/compile.sh nim shell: bash - - name: Setup Nim - uses: jiro4989/setup-nim-action@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - nim-version: 'stable' + - name: Install Nim + shell: bash + run: | + if [ "$RUNNER_OS" == "Windows" ]; then + curl -O https://nim-lang.org/choosenim/init.ps1 + powershell -ExecutionPolicy ByPass -File init.ps1 -y + echo "$HOME/.nimble/bin" >> $GITHUB_PATH + else + curl https://nim-lang.org/choosenim/init.sh -sSf | sh -s -- -y + echo "$HOME/.nimble/bin" >> $GITHUB_PATH + fi + choosenim stable - name: Install Nimble dependencies working-directory: bindings/nim/nim_code From 13290ac0af5a05c38b634e76d413fe6192df8262 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 14:09:42 +0100 Subject: [PATCH 18/19] separate windows and unix installation --- .github/workflows/test-nim-bindings.yml | 28 ++++++++++++++++--------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 80d3c0a6..8b589fc8 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -41,19 +41,27 @@ jobs: run: ./scripts/compile.sh nim shell: bash - - name: Install Nim + - name: Install Nim (Windows) + if: runner.os == 'Windows' + shell: pwsh + run: | + Invoke-WebRequest -Uri https://nim-lang.org/download/nim-1.6.10_x64.zip -OutFile nim.zip + Expand-Archive -Path nim.zip -DestinationPath . + Move-Item -Path nim-1.6.10 -Destination "$env:USERPROFILE\.choosenim\toolchains\nim-1.6.10" + echo "$env:USERPROFILE\.nimble\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + echo "$env:USERPROFILE\.choosenim\toolchains\nim-1.6.10\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Install Nim (Unix) + if: runner.os != 'Windows' shell: bash run: | - if [ "$RUNNER_OS" == "Windows" ]; then - curl -O https://nim-lang.org/choosenim/init.ps1 - powershell -ExecutionPolicy ByPass -File init.ps1 -y - echo "$HOME/.nimble/bin" >> $GITHUB_PATH - else - curl https://nim-lang.org/choosenim/init.sh -sSf | sh -s -- -y - echo "$HOME/.nimble/bin" >> $GITHUB_PATH - fi + curl https://nim-lang.org/choosenim/init.sh -sSf | sh -s -- -y + echo "$HOME/.nimble/bin" >> $GITHUB_PATH choosenim stable - + + - name: Set NIM_CC to vcc on Windows + if: runner.os == 'Windows' + run: echo "NIM_CC=vcc" >> $env:GITHUB_ENV - name: Install Nimble dependencies working-directory: bindings/nim/nim_code run: nimble install -Y From 018f506e5a698c27a3827cdb1cacb3e01dccc061 Mon Sep 17 00:00:00 2001 From: Kevaundray Wedderburn Date: Tue, 25 Jun 2024 14:18:33 +0100 Subject: [PATCH 19/19] update windows install to use 2.0.4 --- .github/workflows/test-nim-bindings.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-nim-bindings.yml b/.github/workflows/test-nim-bindings.yml index 8b589fc8..be645aed 100644 --- a/.github/workflows/test-nim-bindings.yml +++ b/.github/workflows/test-nim-bindings.yml @@ -45,12 +45,14 @@ jobs: if: runner.os == 'Windows' shell: pwsh run: | - Invoke-WebRequest -Uri https://nim-lang.org/download/nim-1.6.10_x64.zip -OutFile nim.zip + Invoke-WebRequest -Uri https://nim-lang.org/download/nim-2.0.4_x64.zip -OutFile nim.zip Expand-Archive -Path nim.zip -DestinationPath . - Move-Item -Path nim-1.6.10 -Destination "$env:USERPROFILE\.choosenim\toolchains\nim-1.6.10" + Move-Item -Path nim-2.0.4 -Destination "$env:USERPROFILE\.choosenim\toolchains\nim-2.0.4" echo "$env:USERPROFILE\.nimble\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - echo "$env:USERPROFILE\.choosenim\toolchains\nim-1.6.10\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - + echo "$env:USERPROFILE\.choosenim\toolchains\nim-2.0.4\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.nimble\bin" + Copy-Item "$env:USERPROFILE\.choosenim\toolchains\nim-2.0.4\bin\*" -Destination "$env:USERPROFILE\.nimble\bin" -Recurse -Force + - name: Install Nim (Unix) if: runner.os != 'Windows' shell: bash