Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -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
87 changes: 7 additions & 80 deletions providers/go-feature-flag/download-wasm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,83 +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}}

# 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."
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
1 change: 1 addition & 0 deletions providers/go-feature-flag/wasm-releases
Submodule wasm-releases added at a81f8c