diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..e4ec19d47 --- /dev/null +++ b/.env.example @@ -0,0 +1,23 @@ +# --- +# These are used for the site health script, run from GitHub Actions. They can +# be set manually if you need to run the script locally. + +# Coder admins for Instatus can get this value from https://dashboard.instatus.com/developer +export INSTATUS_API_KEY= + +# Can be obtained from calling the Instatus API with a valid token. This value +# might not actually need to be private, but better safe than sorry +# https://instatus.com/help/api/status-pages +export INSTATUS_PAGE_ID= + +# Can be obtained from calling the Instatus API with a valid token. This value +# might not actually need to be private, but better safe than sorry +# https://instatus.com/help/api/components +export INSTATUS_COMPONENT_ID= + +# Can be grabbed from https://vercel.com/codercom/registry/stores/integration/upstash/store_1YDPuBF4Jd0aNpuV/guides +# Please make sure that the token you use is KV_REST_API_TOKEN; the script needs +# to be able to queries and mutations +export VERCEL_API_KEY= + +# --- diff --git a/.github/scripts/check_registry_site_health.sh b/.github/scripts/check_registry_site_health.sh old mode 100644 new mode 100755 diff --git a/.github/workflows/check_registry_site_health.yaml b/.github/workflows/check_registry_site_health.yaml new file mode 100644 index 000000000..852e11b46 --- /dev/null +++ b/.github/workflows/check_registry_site_health.yaml @@ -0,0 +1,23 @@ +# Check modules health on registry.coder.com +name: check-registry-site-health +on: + schedule: + - cron: "0,15,30,45 * * * *" # Runs every 15 minutes + workflow_dispatch: # Allows manual triggering of the workflow if needed + +jobs: + run-script: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Run check.sh + run: | + ./.github/scripts/check_registry_site_health.sh + env: + INSTATUS_API_KEY: ${{ secrets.INSTATUS_API_KEY }} + INSTATUS_PAGE_ID: ${{ secrets.INSTATUS_PAGE_ID }} + INSTATUS_COMPONENT_ID: ${{ secrets.INSTATUS_COMPONENT_ID }} + VERCEL_API_KEY: ${{ secrets.VERCEL_API_KEY }}