diff --git a/build/download-native-libs.sh b/build/download-native-libs.sh index f09c28c6..3bb1b47e 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.20" 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..2e46f664 100644 --- a/samples/OrdersApi/Consumer.Tests/pacts/Fulfilment API-Orders API.json +++ b/samples/OrdersApi/Consumer.Tests/pacts/Fulfilment API-Orders API.json @@ -158,8 +158,8 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "4.0" diff --git a/tests/PactNet.Tests/Drivers/FfiIntegrationTests.cs b/tests/PactNet.Tests/Drivers/FfiIntegrationTests.cs index 81ab072e..4aa7e807 100644 --- a/tests/PactNet.Tests/Drivers/FfiIntegrationTests.cs +++ b/tests/PactNet.Tests/Drivers/FfiIntegrationTests.cs @@ -65,8 +65,11 @@ public async Task HttpInteraction_v3_CreatesPactFile() content.Should().Be(@"{""foo"":42}"); mockServer.MockServerMismatches().Should().Be("[]"); - + string logs = mockServer.MockServerLogs(); + // Issue:- libpact_ffi 0.4.20 pact_ffi_mock_server_logs returns null + // Issue not present in 0.4.19 + // https://github.com/pact-foundation/pact-reference/compare/libpact_ffi-v0.4.19...libpact_ffi-v0.4.20 logs.Should().NotBeEmpty(); this.output.WriteLine("Mock Server Logs"); diff --git a/tests/PactNet.Tests/data/v2-consumer-integration.json b/tests/PactNet.Tests/data/v2-consumer-integration.json index 9f76184a..803f8880 100644 --- a/tests/PactNet.Tests/data/v2-consumer-integration.json +++ b/tests/PactNet.Tests/data/v2-consumer-integration.json @@ -74,8 +74,8 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "2.0.0" diff --git a/tests/PactNet.Tests/data/v3-consumer-integration.json b/tests/PactNet.Tests/data/v3-consumer-integration.json index fa2df241..60f279e0 100644 --- a/tests/PactNet.Tests/data/v3-consumer-integration.json +++ b/tests/PactNet.Tests/data/v3-consumer-integration.json @@ -132,8 +132,8 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "3.0.0" diff --git a/tests/PactNet.Tests/data/v3-message-consumer-integration.json b/tests/PactNet.Tests/data/v3-message-consumer-integration.json index 0c02ff57..7fab4911 100644 --- a/tests/PactNet.Tests/data/v3-message-consumer-integration.json +++ b/tests/PactNet.Tests/data/v3-message-consumer-integration.json @@ -36,8 +36,8 @@ "language": "C#" }, "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "3.0.0" diff --git a/tests/PactNet.Tests/data/v3-message-integration.json b/tests/PactNet.Tests/data/v3-message-integration.json index 85ba4363..edd2470d 100644 --- a/tests/PactNet.Tests/data/v3-message-integration.json +++ b/tests/PactNet.Tests/data/v3-message-integration.json @@ -16,8 +16,8 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "3.0.0" diff --git a/tests/PactNet.Tests/data/v3-server-integration.json b/tests/PactNet.Tests/data/v3-server-integration.json index c9b869c0..5fcbf4e9 100644 --- a/tests/PactNet.Tests/data/v3-server-integration.json +++ b/tests/PactNet.Tests/data/v3-server-integration.json @@ -46,8 +46,8 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "3.0.0" diff --git a/tests/PactNet.Tests/data/v4-combined-integration.json b/tests/PactNet.Tests/data/v4-combined-integration.json index d42e3ff5..b3ce3975 100644 --- a/tests/PactNet.Tests/data/v4-combined-integration.json +++ b/tests/PactNet.Tests/data/v4-combined-integration.json @@ -187,8 +187,8 @@ "language": "C#" }, "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "4.0" diff --git a/tests/PactNet.Tests/data/v4-consumer-integration.json b/tests/PactNet.Tests/data/v4-consumer-integration.json index 11d15825..45853760 100644 --- a/tests/PactNet.Tests/data/v4-consumer-integration.json +++ b/tests/PactNet.Tests/data/v4-consumer-integration.json @@ -152,8 +152,8 @@ ], "metadata": { "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "4.0" diff --git a/tests/PactNet.Tests/data/v4-message-consumer-integration.json b/tests/PactNet.Tests/data/v4-message-consumer-integration.json index f5124e0e..591a5960 100644 --- a/tests/PactNet.Tests/data/v4-message-consumer-integration.json +++ b/tests/PactNet.Tests/data/v4-message-consumer-integration.json @@ -41,8 +41,8 @@ "language": "C#" }, "pactRust": { - "ffi": "0.4.16", - "models": "1.1.19" + "ffi": "0.4.20", + "models": "1.2.0" }, "pactSpecification": { "version": "4.0"