diff --git a/.github/workflows/validate-registries.yml b/.github/workflows/validate-registries.yml index 96b747144c..f507116a11 100644 --- a/.github/workflows/validate-registries.yml +++ b/.github/workflows/validate-registries.yml @@ -13,6 +13,44 @@ on: - "apps/v4/registry/directory.json" jobs: + check-registry-sync: + if: github.event_name == 'pull_request' + runs-on: ubuntu-latest + name: Check registry sync + permissions: + contents: read + pull-requests: write + steps: + - name: Check changed files + id: changed + env: + GH_TOKEN: ${{ github.token }} + run: | + CHANGED_FILES=$(gh pr diff ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --name-only) + + DIRECTORY_CHANGED=false + REGISTRIES_CHANGED=false + + if echo "$CHANGED_FILES" | grep -q "^apps/v4/registry/directory.json$"; then + DIRECTORY_CHANGED=true + fi + + if echo "$CHANGED_FILES" | grep -q "^apps/v4/public/r/registries.json$"; then + REGISTRIES_CHANGED=true + fi + + echo "directory_changed=$DIRECTORY_CHANGED" >> $GITHUB_OUTPUT + echo "registries_changed=$REGISTRIES_CHANGED" >> $GITHUB_OUTPUT + + - name: Flag missing registries.json update + if: steps.changed.outputs.directory_changed == 'true' && steps.changed.outputs.registries_changed == 'false' + env: + GH_TOKEN: ${{ github.token }} + run: | + gh pr edit ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --add-label "registries: invalid" + gh pr comment ${{ github.event.pull_request.number }} --repo ${{ github.repository }} --body "can you run \`pnpm registry:build\` and commit the json files please?" + exit 1 + validate: runs-on: ubuntu-latest name: pnpm validate:registries