@@ -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