diff --git a/.github/template_gitref b/.github/template_gitref index dfea88fd..93b7fc13 100644 --- a/.github/template_gitref +++ b/.github/template_gitref @@ -1 +1 @@ -2021.08.26-253-gb267834 +2021.08.26-253-gb267834-dirty diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76d5fa4e..26873362 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,7 +24,20 @@ jobs: - uses: actions/setup-python@v4 with: python-version: "3.8" - + - name: Install requirements + run: pip3 install github + - name: Check commit message + if: github.event_name == 'pull_request' + env: + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + GITHUB_PULL_REQUEST: ${{ github.event.number }} + GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} + GITHUB_BRANCH: ${{ github.head_ref }} + GITHUB_REPO_SLUG: ${{ github.repository }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} + run: sh .github/workflows/scripts/check_commit.sh - name: Verify requirements files run: python .ci/scripts/check_requirements.py single_commit: @@ -35,12 +48,8 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Checkout main - run: git fetch origin main - - name: create local main branch - run: git branch main origin/main - name: Commit Count Check - run: test `git log --oneline --no-merges HEAD ^main | wc -l ` = 1 + run: test "$(git log --oneline --no-merges origin/${{ github.base_ref }}.. | wc -l)" = 1 lint: uses: "./.github/workflows/lint.yml" diff --git a/.github/workflows/pr_checks.yml b/.github/workflows/pr_checks.yml new file mode 100644 index 00000000..54502b0a --- /dev/null +++ b/.github/workflows/pr_checks.yml @@ -0,0 +1,55 @@ +# WARNING: DO NOT EDIT! +# +# This file was generated by plugin_template, and is managed by it. Please use +# './plugin-template --github pulp_gem' to update this file. +# +# For more info visit https://github.com/pulp/plugin_template + +--- +name: Gem 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: 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 { COMMIT_COUNT } = process.env + if (COMMIT_COUNT == 1) + { + github.rest.issues.removeLabel({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + name: ["multi-commit"] + }) + } + else + { + github.rest.issues.addLabels({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ["multi-commit"] + }) + } diff --git a/template_config.yml b/template_config.yml index 9cfd3e32..3cc6668e 100644 --- a/template_config.yml +++ b/template_config.yml @@ -6,7 +6,7 @@ additional_repos: [] api_root: /pulp/ black: true -check_commit_message: false +check_commit_message: true check_gettext: true check_manifest: true check_stray_pulpcore_imports: true