Skip to content

Commit b2cdd4f

Browse files
committed
Add script to put correct values in update.json
1 parent b18ccc9 commit b2cdd4f

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

update-json.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
FLAKE_REF="github:staticweb-io/wordpress-flake"
5+
SYSTEM=$(nix eval --impure --expr builtins.currentSystem --raw)
6+
7+
echo "Getting wordpress_* packages from $FLAKE_REF for system $SYSTEM..."
8+
9+
# Sort wordpress packages by version descending
10+
wordpress_packages=$(nix eval --json --impure \
11+
--expr "builtins.attrNames (builtins.getFlake \"$FLAKE_REF\").packages.\"$SYSTEM\"" \
12+
| jq -r '.[]' | grep '^wordpress_' \
13+
| sort -t_ -k2,2nr -k3,3nr -k4,4nr)
14+
15+
if [[ -z "$wordpress_packages" ]]; then
16+
echo "No wordpress_* packages found."
17+
exit 1
18+
fi
19+
last_success=""
20+
first_pkg=""
21+
for pkg in $wordpress_packages; do
22+
[[ -z "$first_pkg" ]] && first_pkg="$pkg"
23+
24+
echo -e "\n➡️ Running check for WORDPRESS_PACKAGE=$pkg"
25+
if WORDPRESS_PACKAGE="$pkg" nix flake check --impure ./dev; then
26+
last_success="$pkg"
27+
else
28+
echo "❌ Check failed for $pkg"
29+
break
30+
fi
31+
done
32+
33+
if [[ -n "$last_success" ]]; then
34+
echo -e "\n✅ Last successful version: $last_success"
35+
36+
last_updated=$(git log -1 --format="%ci")
37+
38+
# Extract version from first_pkg (e.g., wordpress_6_8_1 → 6.8.1)
39+
requires="${last_success#wordpress_}"
40+
requires="${requires//_/.}"
41+
requires="${requires%.*}" # Remove the patch version
42+
tested="${first_pkg#wordpress_}"
43+
tested="${tested//_/.}"
44+
tested="${tested%.*}"
45+
46+
# Update using jq
47+
TMPUPDATE=$(mktemp)
48+
jq --arg requires "$requires" --arg tested "$tested" --arg last_updated "$last_updated" \
49+
'.requires = $requires | .tested = $tested | .last_updated = $last_updated' \
50+
update.json > "$TMPUPDATE" && mv "$TMPUPDATE" update.json
51+
else
52+
echo -e "\n❌ No successful checks."
53+
fi

0 commit comments

Comments
 (0)