diff --git a/build/download-native-libs.sh b/build/download-native-libs.sh index f09c28c6..0200a834 100755 --- a/build/download-native-libs.sh +++ b/build/download-native-libs.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -euo pipefail -FFI_VERSION="0.4.16" +FFI_VERSION="0.4.19" FFI_BASE_URL="https://github.com/pact-foundation/pact-reference/releases/download/libpact_ffi-v$FFI_VERSION" GREEN="\e[32m" @@ -42,11 +42,27 @@ download_native() { if [[ "$OSTYPE" == "darwin"* ]]; then # OSX requires an empty arg passed to -i, but this doesn't work on Lin/Win - sed -Ei '' "s|../release_artifacts/.+$|$path/$dest_file|" "$path/$dest_file.sha256" + sed -Ei '' "s|\*(.*)$|\*$path/$dest_file|" "$path/$dest_file.sha256" shasum -a 256 --check --quiet "$path/$dest_file.sha256" else - sed -Ei "s|../release_artifacts/.+$|$path/$dest_file|" "$path/$dest_file.sha256" - sha256sum --check --quiet "$path/$dest_file.sha256" + sed -Ei "s|\*(.*)$|\*$path/$dest_file|" "$path/$dest_file.sha256" + if [[ "$OSTYPE" == "linux"* ]]; then + if ldd /bin/ls >/dev/null 2>&1; then + ldd_output=$(ldd /bin/ls) + case "$ldd_output" in + *musl*) + sha256sum -c -s "$path/$dest_file.sha256" + ;; + *) + sha256sum --check --quiet "$path/$dest_file.sha256" + ;; + esac + else + sha256sum --check --quiet "$path/$dest_file.sha256" + fi + else + sha256sum --check --quiet "$path/$dest_file.sha256" + fi fi rm "$path/$dest_file.sha256" @@ -60,5 +76,8 @@ download_native() { download_native "pact_ffi" "windows" "x86_64" "dll" download_native "libpact_ffi" "linux" "x86_64" "so" +download_native "libpact_ffi" "linux" "aarch64" "so" +download_native "libpact_ffi" "linux" "x86_64-musl" "so" +download_native "libpact_ffi" "linux" "aarch64-musl" "so" download_native "libpact_ffi" "osx" "x86_64" "dylib" -download_native "libpact_ffi" "osx" "aarch64-apple-darwin" "dylib" +download_native "libpact_ffi" "osx" "aarch64-apple-darwin" "dylib" \ No newline at end of file diff --git a/samples/OrdersApi/Consumer.Tests/pacts/Fulfilment API-Orders API.json b/samples/OrdersApi/Consumer.Tests/pacts/Fulfilment API-Orders API.json index 50b68e5d..dbb0af85 100644 --- a/samples/OrdersApi/Consumer.Tests/pacts/Fulfilment API-Orders API.json +++ b/samples/OrdersApi/Consumer.Tests/pacts/Fulfilment API-Orders API.json @@ -158,7 +158,7 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v2-consumer-integration.json b/tests/PactNet.Tests/data/v2-consumer-integration.json index 9f76184a..96d5ba1a 100644 --- a/tests/PactNet.Tests/data/v2-consumer-integration.json +++ b/tests/PactNet.Tests/data/v2-consumer-integration.json @@ -74,7 +74,7 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v3-consumer-integration.json b/tests/PactNet.Tests/data/v3-consumer-integration.json index fa2df241..21b52eee 100644 --- a/tests/PactNet.Tests/data/v3-consumer-integration.json +++ b/tests/PactNet.Tests/data/v3-consumer-integration.json @@ -132,7 +132,7 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v3-message-consumer-integration.json b/tests/PactNet.Tests/data/v3-message-consumer-integration.json index 0c02ff57..310baddc 100644 --- a/tests/PactNet.Tests/data/v3-message-consumer-integration.json +++ b/tests/PactNet.Tests/data/v3-message-consumer-integration.json @@ -36,7 +36,7 @@ "language": "C#" }, "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v3-message-integration.json b/tests/PactNet.Tests/data/v3-message-integration.json index 85ba4363..ea82e431 100644 --- a/tests/PactNet.Tests/data/v3-message-integration.json +++ b/tests/PactNet.Tests/data/v3-message-integration.json @@ -16,7 +16,7 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v3-server-integration.json b/tests/PactNet.Tests/data/v3-server-integration.json index c9b869c0..5fe6f2ae 100644 --- a/tests/PactNet.Tests/data/v3-server-integration.json +++ b/tests/PactNet.Tests/data/v3-server-integration.json @@ -46,7 +46,7 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v4-combined-integration.json b/tests/PactNet.Tests/data/v4-combined-integration.json index d42e3ff5..926af3db 100644 --- a/tests/PactNet.Tests/data/v4-combined-integration.json +++ b/tests/PactNet.Tests/data/v4-combined-integration.json @@ -187,7 +187,7 @@ "language": "C#" }, "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v4-consumer-integration.json b/tests/PactNet.Tests/data/v4-consumer-integration.json index 11d15825..02cf4f09 100644 --- a/tests/PactNet.Tests/data/v4-consumer-integration.json +++ b/tests/PactNet.Tests/data/v4-consumer-integration.json @@ -152,7 +152,7 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": { diff --git a/tests/PactNet.Tests/data/v4-message-consumer-integration.json b/tests/PactNet.Tests/data/v4-message-consumer-integration.json index f5124e0e..a0bbb4f3 100644 --- a/tests/PactNet.Tests/data/v4-message-consumer-integration.json +++ b/tests/PactNet.Tests/data/v4-message-consumer-integration.json @@ -41,7 +41,7 @@ "language": "C#" }, "pactRust": { - "ffi": "0.4.16", + "ffi": "0.4.19", "models": "1.1.19" }, "pactSpecification": {