diff --git a/.github/workflows/context7-refresh.yml b/.github/workflows/context7-refresh.yml index a112ed8..17d0057 100644 --- a/.github/workflows/context7-refresh.yml +++ b/.github/workflows/context7-refresh.yml @@ -23,8 +23,19 @@ jobs: CONTEXT7_API_KEY: ${{ secrets.CONTEXT7_API_KEY }} LIBRARY_NAME: /${{ github.repository }} run: | - curl --fail --silent --show-error --max-time 60 \ + status=$(curl --silent --show-error --max-time 180 --output response.json --write-out '%{http_code}' \ -X POST https://context7.com/api/v1/refresh \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $CONTEXT7_API_KEY" \ - -d "{\"libraryName\": \"$LIBRARY_NAME\"}" + -d "{\"libraryName\": \"$LIBRARY_NAME\"}") + cat response.json + echo + if [ "$status" = "200" ]; then + exit 0 + fi + if [ "$status" = "400" ] && jq -e '.error == "too-early"' response.json > /dev/null; then + echo "::notice::Context7 refreshed $LIBRARY_NAME recently, so it skipped this refresh." + exit 0 + fi + echo "::error::Context7 refresh failed with HTTP $status." + exit 1