diff --git a/.github/workflows/db-change.yml b/.github/workflows/db-change.yml new file mode 100644 index 000000000..34d2cb5ad --- /dev/null +++ b/.github/workflows/db-change.yml @@ -0,0 +1,25 @@ +name: Check db change labels + +on: + pull_request: + types: [opened, synchronize, reopened, labeled, unlabeled] + +env: + GH_TOKEN: ${{ secrets.MEILI_BOT_GH_PAT }} + +jobs: + check-labels: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + - name: Check db change labels + id: check_labels + run: | + LABELS=$(gh api -H "Accept: application/vnd.github.v3+json" /repos/meilisearch/meilisearch/pulls/${{ github.event.pull_request.number }}/labels -q .[].name) + if [[ ! "$LABELS" =~ "db change" && ! "$LABELS" =~ "no db change" ]]; then + echo "::error::Pull request must contain either the 'db change' or 'no db change' label." + exit 1 + else + echo "The label is set" + fi diff --git a/bors.toml b/bors.toml index 71a8748b8..e2318938f 100644 --- a/bors.toml +++ b/bors.toml @@ -5,6 +5,7 @@ status = [ 'Run Clippy', 'Run Rustfmt', 'Run tests in debug', + 'Check db change labels', ] pr_status = ['Milestone Check'] # 3 hours timeout