Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Cache key uses repo.org only if USE_CONFIG_FROM_PULL_REQUEST is disabled. #775

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

One more test case for cache reset

19d1a59
Select commit
Loading
Failed to load commit list.
Open

feat: Cache key uses repo.org only if USE_CONFIG_FROM_PULL_REQUEST is disabled. #775

One more test case for cache reset
19d1a59
Select commit
Loading
Failed to load commit list.
Mergeable / Mergeable failed Nov 21, 2024 in 4s

2/4 Fail(s): APPROVALS, OR

Status: FAIL

    Here are some stats of the run:
    4 validations were ran.
    2 PASSED
    2 FAILED

Details

✔️ Validator: TITLE

  • ✔️ title must include '^(feat|docs|chore|fix|refactor|test|style|perf)((\w+))?:.+$'
    Input : feat: Cache key uses repo.org only if USE_CONFIG_FROM_PULL_REQUEST is disabled.
    Settings : {"must_include":{"regex":"^(feat|docs|chore|fix|refactor|test|style|perf)(\\(\\w+\\))?:.+$","message":"Semantic release conventions must be followed."}}

✔️ Validator: DESCRIPTION

  • ✔️ description must exclude '[ ]'
    Input : Change the cache key to repo.org if only global mergeable configuration can be used.

This logic applies only in a combination of

  • USE_CONFIG_FROM_PULL_REQUEST = false
  • USE_ORG_AS_DEFAULT_CONFIG = true
  • USE_CONFIG_CACHE = true

Before this change, mergeable would already cache the org config for each repo, but would always use the org/repo cache key. Unfortunately if only global repository is used, this leads to a lot of cache misses if PRs are opened across many repositories within the organization.

In our case, the current behavior let to us being rate-limited by GitHub.
Settings : {"must_exclude":{"regex":"\\[ \\]","message":"There are incomplete TODO task(s) unchecked."}}

❌ Validator: APPROVALS

  • approvals count is less than "1"
    Input :
    Settings : {"min":{"count":1}}
  • (approvals: jusx required OR approvals: shine2lay required)
    Input :
    Settings : {"or":[{"required":{"reviewers":["jusx"]}},{"required":{"reviewers":["shine2lay"]}}]}

❌ Validator: OR

  • ✔️ Option 1: And: Option 1: title: title must include '^(feat|fix)((\w+))?:.+$'
    Input : feat: Cache key uses repo.org only if USE_CONFIG_FROM_PULL_REQUEST is disabled.
    Settings : {"must_include":{"regex":"^(feat|fix)(\\(\\w+\\))?:.+$"}}
  • Option 1: And: Option 2: changeset: new features or fixes needed to be logged to the changelog
    Input : tests/unit/configuration/configuration.test.js,lib/configuration/configuration.js
    Settings : {"must_include":{"regex":"docs/changelog.rst","message":"new features or fixes needed to be logged to the changelog"}}
  • Option 2: title: new features or fixes needed to be logged to the changelog
    Input : feat: Cache key uses repo.org only if USE_CONFIG_FROM_PULL_REQUEST is disabled.
    Settings : {"must_exclude":{"regex":"^(feat|fix)(\\(\\w+\\))?:.+$","message":"new features or fixes needed to be logged to the changelog"}}