[PM-24930] New workflow to update the SDK and test ongoing work (#5742)

This commit is contained in:
Álison Fernandes
2025-08-19 16:19:57 +01:00
committed by GitHub
parent b34d873471
commit e8b01c2d44
5 changed files with 284 additions and 6 deletions

41
scripts/get-repo-changelog.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/bin/bash
# Script to get changelog from sdk-internal repo between two git refs
# Usage: ./scripts/get-sdk-changelog.sh <current-ref> <new-ref>
set -euo pipefail
if [ $# -lt 2 ]; then
echo "Usage: $0 <repo> <current-ref> <new-ref>"
echo "Example: $0 bitwarden/sdk-internal 9fe3aeda fix-wasm-import"
echo "Example: $0 bitwarden/sdk-internal 2450-9fe3aeda 2577-fix-wasm-import"
exit 1
fi
REPO="$1"
CURRENT_REF="$2"
NEW_REF="$3"
CHANGELOG=$(gh api "repos/$REPO/compare/$CURRENT_REF...$NEW_REF" \
--jq '.commits[] | "- \(.commit.message | split("\n")[0])"' | head -20)
if [ -z "$CHANGELOG" ]; then
echo "No changes found between $CURRENT_REF and $NEW_REF"
exit 0
fi
# GitHub renders org/repo#123 as a link to a PR, removing the commit message when a PR ID is found
# including the raw changelog in a collapsible section in case the pattern matching fails
CLEANED_CHANGELOG=$(echo "$CHANGELOG" | sed -E "s|.*\(#([0-9]+)\).*|- $REPO#\1|")
echo "$CLEANED_CHANGELOG"
echo
echo "<details>
<summary>Raw changelog</summary>
\`\`\`
$CHANGELOG
\`\`\`
</details>
"

30
scripts/update-sdk-version.sh Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/bash
# Script to update SDK version in gradle/libs.versions.toml
# Usage: ./scripts/update-sdk-version.sh <sdk-package> <sdk-version>
set -euo pipefail
if [ $# -lt 2 ]; then
echo "Usage: $0 <sdk-package> <sdk-version>"
echo "Example: $0 com.bitwarden:sdk-android 1.0.0-2586-20e3dfa6"
echo "Example: $0 com.bitwarden:sdk-android.dev 1.0.0-2577-fix-wasm-import"
exit 1
fi
SDK_PACKAGE="$1"
SDK_VERSION="$2"
TOML_FILE="gradle/libs.versions.toml"
echo "Updating SDK in $TOML_FILE..."
echo " Package: $SDK_PACKAGE"
echo " Version: $SDK_VERSION"
sed -i.bak "s/bitwardenSdk = \".*\"/bitwardenSdk = \"$SDK_VERSION\"/" "$TOML_FILE"
if [ "$SDK_PACKAGE" != "com.bitwarden:sdk-android" ]; then
sed -i.bak "s|bitwarden-sdk = { module = \".*\"|bitwarden-sdk = { module = \"$SDK_PACKAGE\", version.ref = \"bitwardenSdk\"|" "$TOML_FILE"
fi
echo "Updated:"
grep -n "bitwardenSdk\|bitwarden-sdk" "$TOML_FILE"