diff --git a/.github/workflows/pr_checks.yml b/.github/workflows/pr_checks.yml index e93c0fcc..42d8913f 100644 --- a/.github/workflows/pr_checks.yml +++ b/.github/workflows/pr_checks.yml @@ -6,3 +6,57 @@ # For more info visit https://github.com/pulp/plugin_template --- +name: Ostree PR static checks +on: + pull_request_target: + types: [opened, synchronize, reopened] + +# This workflow runs with elevated permissions. +# Do not even think about running a single bit of code from the PR. +# Static analysis should be fine however. + +concurrency: + group: ${{ github.ref_name }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + single_commit: + runs-on: ubuntu-latest + name: Label multiple commit PR + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Commit Count Check + run: | + git fetch origin ${{ github.event.pull_request.head.sha }} + echo "COMMIT_COUNT=$(git log --oneline --no-merges origin/${{ github.base_ref }}..${{ github.event.pull_request.head.sha }} | wc -l)" >> "$GITHUB_ENV" + - uses: actions/github-script@v7 + with: + script: | + const labelName = "multi-commit"; + const { COMMIT_COUNT } = process.env; + + if (COMMIT_COUNT == 1) + { + try { + await github.rest.issues.removeLabel({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + name: labelName, + }); + } catch(err) { + } + } + else + { + await github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: [labelName], + }); + } diff --git a/template_config.yml b/template_config.yml index ddc01d91..fc2e2d1e 100644 --- a/template_config.yml +++ b/template_config.yml @@ -64,7 +64,7 @@ python_version: '3.8' release_email: pulp-infra@redhat.com release_user: pulpbot run_pulpcore_tests_for_plugins: false -single_commit_check: false +single_commit_check: true stalebot: true stalebot_days_until_close: 30 stalebot_days_until_stale: 90