diff options
author | polwex <code@yago.one> | 2025-02-21 08:59:27 +0000 |
---|---|---|
committer | polwex <code@yago.one> | 2025-02-21 08:59:27 +0000 |
commit | c0be55eb72fdad38de6e1c72a52b1500216c3043 (patch) | |
tree | c053679bb21a023e115a0ab5f96d7926bd05d3c2 /derivations/windsurf/update.sh | |
parent | fb39334bcdac65a1ff1d95e7e4db2e28eabcc2d6 (diff) | |
parent | 59ab4467b69f3ba455ef23163cfc4543338d8a41 (diff) |
Merge pull request 'nvidia-wayland' (#1) from nvidia-wayland into master
Reviewed-on: https://git.sortug.com/polwex/nixconf/pulls/1
Diffstat (limited to 'derivations/windsurf/update.sh')
-rw-r--r-- | derivations/windsurf/update.sh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/derivations/windsurf/update.sh b/derivations/windsurf/update.sh new file mode 100644 index 0000000..8825b65 --- /dev/null +++ b/derivations/windsurf/update.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +#! nix-shell update-shell.nix -i bash + +# Update script for the windsurf package, including vscode versions and hashes. +# Usually doesn't need to be called by hand, +# but is called by a bot: https://github.com/samuela/nixpkgs-upkeep/actions +# Call it by hand if the bot fails to automatically update the versions. + +set -euo pipefail + +# Directory where this script is located +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +# Supported platforms +declare -A platforms=( + ["x86_64-linux"]="linux-x64" + # Uncomment when supported + # ["x86_64-darwin"]="macos-x64" + # ["aarch64-linux"]="linux-arm64" + # ["aarch64-darwin"]="macos-arm64" + # ["armv7l-linux"]="linux-armhf" +) + +# Get latest version from API json +get_latest_version() { + local plat="$1" + curl -s "https://windsurf-stable.codeium.com/api/update/$plat/stable/latest" | jq -r ".windsurfVersion" +} + +# Get commit hash from API json +get_commit_hash() { + local plat="$1" + local version="$2" + curl -s "https://windsurf-stable.codeium.com/api/update/$plat/stable/latest" | jq -r ".version" +} + +# Get sha256hash from API json +get_sha256_hash() { + local plat="$1" + curl -s "https://windsurf-stable.codeium.com/api/update/$plat/stable/latest" | jq -r ".sha256hash" +} + +# Main update function +update_package() { + echo "Updating Windsurf package..." + + # Get version info for linux-x64 (primary platform) + local version + version=$(get_latest_version "linux-x64") + echo "Latest version: $version" + + local commit_hash + commit_hash=$(get_commit_hash "linux-x64" "$version") + echo "Commit hash: $commit_hash" + + local sha256_hash + sha256_hash=$(get_sha256_hash "linux-x64") + echo "sha256 hash: $sha256_hash" + + # Update default.nix + local default_nix="$SCRIPT_DIR/default.nix" + sed -i "s/version = \".*\"/version = \"$version\"/" "$default_nix" + sed -i "s|/stable/[a-f0-9]\{40\}/|/stable/$commit_hash/|" "$default_nix" + sed -i "s/x86_64-linux = \".*\"/x86_64-linux = \"$sha256_hash\"/" "$default_nix" + + echo "Update complete!" +} + +# Run the update +update_package |