Skip to content

Commit 1e41d4d

Browse files
committed
Resolve RTDB host before cache prewarm
1 parent 0be7c20 commit 1e41d4d

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

.github/workflows/firebase-hosting-merge.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,31 @@ jobs:
3737
VITE_AISSTREAM_API_KEY: '${{ secrets.VITE_AISSTREAM_API_KEY }}'
3838
VITE_FIREBASE_RTDB_URL: '${{ secrets.VITE_FIREBASE_RTDB_URL }}'
3939
VITE_GODSEYE_CACHE_SECRET: '${{ secrets.VITE_GODSEYE_CACHE_SECRET }}'
40+
- name: Resolve RTDB hostname
41+
run: |
42+
DB_HOST="$(node -e "console.log(new URL(process.argv[1]).hostname)" "${VITE_FIREBASE_RTDB_URL}")"
43+
RTDB_RESOLVE_IP="$(curl -fsS "https://dns.google/resolve?name=${DB_HOST}&type=A" | jq -r '.Answer[]? | select(.type == 1) | .data' | head -n 1)"
44+
if [ -z "$RTDB_RESOLVE_IP" ]; then
45+
echo "Unable to resolve RTDB host via dns.google" >&2
46+
exit 1
47+
fi
48+
echo "RTDB_HOST=${DB_HOST}" >> "$GITHUB_ENV"
49+
echo "RTDB_RESOLVE_IP=${RTDB_RESOLVE_IP}" >> "$GITHUB_ENV"
50+
env:
51+
VITE_FIREBASE_RTDB_URL: '${{ secrets.VITE_FIREBASE_RTDB_URL }}'
4052
- run: npm run shared-cache:publish
4153
env:
4254
VITE_FIREBASE_RTDB_URL: '${{ secrets.VITE_FIREBASE_RTDB_URL }}'
4355
VITE_GODSEYE_CACHE_SECRET: '${{ secrets.VITE_GODSEYE_CACHE_SECRET }}'
56+
FIREBASE_RTDB_RESOLVE_IP: '${{ env.RTDB_RESOLVE_IP }}'
4457
- name: Verify shared RTDB cache payload
4558
run: |
4659
DB_URL="${VITE_FIREBASE_RTDB_URL%/}"
47-
curl -fsS "${DB_URL}/godsEyeData.json" | jq -e '.data.payload and .hash and .timestamp' >/dev/null
60+
curl --resolve "${RTDB_HOST}:443:${RTDB_RESOLVE_IP}" -fsS "${DB_URL}/godsEyeData.json" | jq -e '.data.payload and .hash and .timestamp' >/dev/null
4861
env:
4962
VITE_FIREBASE_RTDB_URL: '${{ secrets.VITE_FIREBASE_RTDB_URL }}'
63+
RTDB_HOST: '${{ env.RTDB_HOST }}'
64+
RTDB_RESOLVE_IP: '${{ env.RTDB_RESOLVE_IP }}'
5065
- uses: FirebaseExtended/action-hosting-deploy@v0
5166
with:
5267
repoToken: '${{ secrets.GITHUB_TOKEN }}'

0 commit comments

Comments
 (0)