diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index fb0051e..d8a5653 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -30,13 +30,15 @@ jobs: run: | BUILD_ID=$(gcloud builds submit --tag ${{ env.IMAGE }} --project ${{ env.PROJECT_ID }} --async --format='value(id)') echo "Waiting for build $BUILD_ID..." - until [ "$(gcloud builds describe $BUILD_ID --project ${{ env.PROJECT_ID }} --format='value(status)')" != "WORKING" ] && \ - [ "$(gcloud builds describe $BUILD_ID --project ${{ env.PROJECT_ID }} --format='value(status)')" != "QUEUED" ]; do - sleep 10 + while true; do + STATUS=$(gcloud builds describe $BUILD_ID --project ${{ env.PROJECT_ID }} --format='value(status)' 2>/dev/null) + echo " status: $STATUS" + case "$STATUS" in + SUCCESS) break ;; + FAILURE|TIMEOUT|CANCELLED|INTERNAL_ERROR) echo "Build failed: $STATUS"; exit 1 ;; + *) sleep 15 ;; + esac done - STATUS=$(gcloud builds describe $BUILD_ID --project ${{ env.PROJECT_ID }} --format='value(status)') - echo "Build status: $STATUS" - [ "$STATUS" = "SUCCESS" ] || exit 1 - name: Deploy to Cloud Run run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a0b3547..4316159 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,6 +10,6 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 24 - run: npm install - run: node test/unit-test.js diff --git a/Dockerfile b/Dockerfile index b236ff9..14ae37c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:lts-slim +FROM node:24-slim RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ diff --git a/package.json b/package.json index ecffeaf..ad10a75 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Pokemon TCG card research — live listings from eBay, magi.camp, Yahoo Auctions & SNKRDUNK with AI pre-grading and PSA signals", "type": "module", "engines": { - "node": ">=20" + "node": ">=24" }, "scripts": { "start": "node index.js",