From 6ca856f64a4c8a177c05dbac93df59fa3fd76981 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 21 Jul 2025 19:12:36 +0200 Subject: [PATCH 1/8] Adding git submodule Signed-off-by: Thomas Poignant --- .gitmodules | 3 +++ providers/go-feature-flag/wasm-releases | 1 + 2 files changed, 4 insertions(+) create mode 160000 providers/go-feature-flag/wasm-releases diff --git a/.gitmodules b/.gitmodules index f83362fd6..9bbd16f5e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,6 @@ [submodule "providers/flagd/spec"] path = providers/flagd/spec url = https://github.com/open-feature/spec.git +[submodule "providers/go-feature-flag/wasm-releases"] + path = providers/go-feature-flag/wasm-releases + url = https://github.com/go-feature-flag/wasm-releases.git diff --git a/providers/go-feature-flag/wasm-releases b/providers/go-feature-flag/wasm-releases new file mode 160000 index 000000000..a81f8c4bb --- /dev/null +++ b/providers/go-feature-flag/wasm-releases @@ -0,0 +1 @@ +Subproject commit a81f8c4bbac3bdc4dd2c69e9eb27a7fd9b262222 From 61c567cec989f7c7790247bd4af4c9e9f9f58742 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 21 Jul 2025 19:16:50 +0200 Subject: [PATCH 2/8] Change script to copy file instead of downloading it Signed-off-by: Thomas Poignant --- providers/go-feature-flag/download-wasm.sh | 81 +--------------------- 1 file changed, 2 insertions(+), 79 deletions(-) diff --git a/providers/go-feature-flag/download-wasm.sh b/providers/go-feature-flag/download-wasm.sh index 4ade92b2d..88614711b 100755 --- a/providers/go-feature-flag/download-wasm.sh +++ b/providers/go-feature-flag/download-wasm.sh @@ -3,82 +3,5 @@ # This script downloads the wasm file from the go-feature-flag repository and adds it to the build. wasm_version="v1.45.0" # {{wasm_version}} - -# Set the repository owner and name -repo_owner="thomaspoignant" -repo_name="go-feature-flag" -file_suffix=".wasi" -target_dir="./src/main/resources/wasm/" - -# Function to find the download URL -find_download_url() { - local release_tag=$1 - local file_suffix=$2 - - # Get the assets for the specific release - assets=$(curl -s "https://api.github.com/repos/$repo_owner/$repo_name/releases/tags/$wasm_version" | jq -r '.assets') - - if [ -z "$assets" ]; then - echo "Error: No assets found for release $wasm_version" - return 1 - fi - - # Find the asset that matches the file prefix - download_url=$(echo "$assets" | jq -r ".[] | select(.name | endswith(\"$file_suffix\")) | .browser_download_url") - - if [ -z "$download_url" ]; then - echo "Error: No asset found with prefix '$file_suffix' in release $wasm_version" - return 1 - fi - echo "$download_url" -} - -# Function to download the file -download_file() { - local url=$1 - local target_dir=$2 - - if [ -z "$url" ]; then - echo "Error: Download URL is empty." - return 1 - fi - - if [ -z "$target_dir" ]; then - echo "Error: Target directory is empty." - return 1 - fi - - # Extract the filename from the URL - local filename=$(basename "$url") - - # Check if the directory exists - if [ ! -d "$target_dir" ]; then - mkdir -p "$target_dir" # Create the directory if it doesn't exist - fi - - # Use curl to download the file with progress - echo "Downloading $filename to $target_dir..." - curl -L -o "$target_dir/$filename" "$url" - if [ $? -ne 0 ]; then - echo "Error: Download failed." - return 1 - fi - echo "Download successful!" -} - -# Main script logic -download_url=$(find_download_url "$latest_release" "$file_suffix") -if [ $? -ne 0 ]; then - echo "Error: Failed to find the download URL for release $latest_release." - exit 1 -fi - -download_file "$download_url" "$target_dir" -if [ $? -ne 0 ]; then - echo "Error: Failed to download the file. $download_url" - exit 1 -fi - -ls "$target_dir" - -echo "Done." +pwd +mv ./wasm-releases/evaluation/gofeatureflag-evaluation_$wasm_version.wasi ./src/main/resources/wasm/gofeatureflag-evaluation_$wasm_version.wasi From f4cdae797d852a80ca7f6602f14063b9c691b8cc Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 21 Jul 2025 19:22:29 +0200 Subject: [PATCH 3/8] upgrade version wasm Signed-off-by: Thomas Poignant --- .gitmodules | 3 --- providers/go-feature-flag/download-wasm.sh | 6 +++++- providers/go-feature-flag/wasm-releases | 1 - 3 files changed, 5 insertions(+), 5 deletions(-) delete mode 160000 providers/go-feature-flag/wasm-releases diff --git a/.gitmodules b/.gitmodules index 9bbd16f5e..f83362fd6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,6 +8,3 @@ [submodule "providers/flagd/spec"] path = providers/flagd/spec url = https://github.com/open-feature/spec.git -[submodule "providers/go-feature-flag/wasm-releases"] - path = providers/go-feature-flag/wasm-releases - url = https://github.com/go-feature-flag/wasm-releases.git diff --git a/providers/go-feature-flag/download-wasm.sh b/providers/go-feature-flag/download-wasm.sh index 88614711b..302e3d8a2 100755 --- a/providers/go-feature-flag/download-wasm.sh +++ b/providers/go-feature-flag/download-wasm.sh @@ -2,6 +2,10 @@ # This script downloads the wasm file from the go-feature-flag repository and adds it to the build. -wasm_version="v1.45.0" # {{wasm_version}} +wasm_version="v1.45.4" # {{wasm_version}} pwd +echo "Downloading go-feature-flag wasm version: $wasm_version" +ls "$(pwd)/wasm-releases" +echo "Downloading go-feature-flag wasm evaluation version: $wasm_version" +ls "$(pwd)/wasm-releases/evaluation" mv ./wasm-releases/evaluation/gofeatureflag-evaluation_$wasm_version.wasi ./src/main/resources/wasm/gofeatureflag-evaluation_$wasm_version.wasi diff --git a/providers/go-feature-flag/wasm-releases b/providers/go-feature-flag/wasm-releases deleted file mode 160000 index a81f8c4bb..000000000 --- a/providers/go-feature-flag/wasm-releases +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a81f8c4bbac3bdc4dd2c69e9eb27a7fd9b262222 From 300b7b68a7a8d75873985b21c8d470fd84916cd1 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 21 Jul 2025 23:07:22 +0200 Subject: [PATCH 4/8] add git submodule Signed-off-by: Thomas Poignant --- wasm-releases | 1 + 1 file changed, 1 insertion(+) create mode 160000 wasm-releases diff --git a/wasm-releases b/wasm-releases new file mode 160000 index 000000000..a81f8c4bb --- /dev/null +++ b/wasm-releases @@ -0,0 +1 @@ +Subproject commit a81f8c4bbac3bdc4dd2c69e9eb27a7fd9b262222 From a081c46b06844394ed6c2afcaad9527bf8d28e20 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 21 Jul 2025 23:13:02 +0200 Subject: [PATCH 5/8] Adding wasm-releases submodule Signed-off-by: Thomas Poignant --- .gitmodules | 3 +++ providers/go-feature-flag/wasm-releases | 1 + 2 files changed, 4 insertions(+) create mode 160000 providers/go-feature-flag/wasm-releases diff --git a/.gitmodules b/.gitmodules index f83362fd6..9bbd16f5e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,6 @@ [submodule "providers/flagd/spec"] path = providers/flagd/spec url = https://github.com/open-feature/spec.git +[submodule "providers/go-feature-flag/wasm-releases"] + path = providers/go-feature-flag/wasm-releases + url = https://github.com/go-feature-flag/wasm-releases.git diff --git a/providers/go-feature-flag/wasm-releases b/providers/go-feature-flag/wasm-releases new file mode 160000 index 000000000..a81f8c4bb --- /dev/null +++ b/providers/go-feature-flag/wasm-releases @@ -0,0 +1 @@ +Subproject commit a81f8c4bbac3bdc4dd2c69e9eb27a7fd9b262222 From f76a668654c20ccacdf9aa41b7b4e3c6ea4ade3f Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Mon, 21 Jul 2025 23:15:59 +0200 Subject: [PATCH 6/8] remove top level wasm-release Signed-off-by: Thomas Poignant --- wasm-releases | 1 - 1 file changed, 1 deletion(-) delete mode 160000 wasm-releases diff --git a/wasm-releases b/wasm-releases deleted file mode 160000 index a81f8c4bb..000000000 --- a/wasm-releases +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a81f8c4bbac3bdc4dd2c69e9eb27a7fd9b262222 From 6dab1a779eca5639b044cb1e1038a7ac1e02a5c3 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Tue, 22 Jul 2025 09:46:08 +0200 Subject: [PATCH 7/8] add submodule to checkout Signed-off-by: Thomas Poignant --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb69e524d..22a1e63d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,6 +24,8 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + submodules: recursive - name: Set up JDK ${{ matrix.build.java }} uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4 From 115b12ec82431bd87f3f6a00c7bf0e70e9a06a22 Mon Sep 17 00:00:00 2001 From: Thomas Poignant Date: Tue, 22 Jul 2025 09:58:51 +0200 Subject: [PATCH 8/8] remove unused part of the script Signed-off-by: Thomas Poignant --- providers/go-feature-flag/download-wasm.sh | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/providers/go-feature-flag/download-wasm.sh b/providers/go-feature-flag/download-wasm.sh index 302e3d8a2..e480ae6d9 100755 --- a/providers/go-feature-flag/download-wasm.sh +++ b/providers/go-feature-flag/download-wasm.sh @@ -1,11 +1,5 @@ #!/usr/bin/env bash -# This script downloads the wasm file from the go-feature-flag repository and adds it to the build. - +# This script copy the wasm module from the git submodule repository and adds it to the build. wasm_version="v1.45.4" # {{wasm_version}} -pwd -echo "Downloading go-feature-flag wasm version: $wasm_version" -ls "$(pwd)/wasm-releases" -echo "Downloading go-feature-flag wasm evaluation version: $wasm_version" -ls "$(pwd)/wasm-releases/evaluation" mv ./wasm-releases/evaluation/gofeatureflag-evaluation_$wasm_version.wasi ./src/main/resources/wasm/gofeatureflag-evaluation_$wasm_version.wasi