cloudberry icon indicating copy to clipboard operation
cloudberry copied to clipboard

CI: add workflow for branding name checks

Open tuhaihe opened this issue 1 year ago • 2 comments

This commit adds a GitHub Actions workflow to check pull request (PR) diffs for outdated terms such as "Cloudberry Database", "Greenplum", and related variations.

The workflow scans only modified or added lines in the PR to identify outdated branding name. If detected, it posts a comment suggesting the use of "Apache Cloudberry" or "Cloudberry" as appropriate.

This helps ensure consistent and up-to-date terminology across the project while streamlining the review process.

Fixes #ISSUE_Number

What does this PR do?

Type of Change

  • [ ] Bug fix (non-breaking change)
  • [ ] New feature (non-breaking change)
  • [ ] Breaking change (fix or feature with breaking changes)
  • [ ] Documentation update

Breaking Changes

Test Plan

  • [ ] Unit tests added/updated
  • [ ] Integration tests added/updated
  • [ ] Passed make installcheck
  • [ ] Passed make -C src/test installcheck-cbdb-parallel

Impact

Performance:

User-facing changes:

Dependencies:

Checklist

Additional Context

CI Skip Instructions


tuhaihe avatar Dec 16 '24 10:12 tuhaihe

I created this file with the help of ChatGPT to check the commits for brand name.

Seems not had the access to post the comments.

github-token: ***
    debug: false
    user-agent: actions/github-script
    result-encoding: json
    retries: 0
    retry-exempt-status-codes: 400,401,403,404,422
Error checking for deprecated terms: RequestError [HttpError]: Resource not accessible by integration
    at /home/runner/work/_actions/actions/github-script/v6/dist/index.js:6842:21
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15143:16), <anonymous>:62:5)
    at async main (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:15236:20) {
  status: 403,
  response: {
    url: 'https://api.github.com/repos/apache/cloudberry/issues/787/comments',
    status: 403,
    headers: {
      'access-control-allow-origin': '*',
      'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset',
      'content-encoding': 'gzip',
      'content-security-policy': "default-src 'none'",
      'content-type': 'application/json; charset=utf-8',
      date: 'Thu, 19 Dec 2024 08:40:38 GMT',
      'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin',
      server: 'github.com',
      'strict-transport-security': 'max-age=31536000; includeSubdomains; preload',
      'transfer-encoding': 'chunked',
      vary: 'Accept-Encoding, Accept, X-Requested-With',
      'x-accepted-github-permissions': 'issues=write; pull_requests=write',
      'x-content-type-options': 'nosniff',
      'x-frame-options': 'deny',
      'x-github-api-version-selected': '2022-11-28',
      'x-github-media-type': 'github.v3; format=json',
      'x-github-request-id': 'B7C0:2165[76](https://github.com/apache/cloudberry/actions/runs/12409149152/job/34642168577?pr=787#step:3:76):AA9DE6:153A6EA:6763DC06',
      'x-ratelimit-limit': '15000',
      'x-ratelimit-remaining': '14996',
      'x-ratelimit-reset': '1734599619',
      'x-ratelimit-resource': 'core',
      'x-ratelimit-used': '4',
      'x-xss-protection': '0'
    },
    data: {
      message: 'Resource not accessible by integration',
      documentation_url: 'https://docs.github.com/rest/issues/comments#create-an-issue-comment',
      status: '403'
    }
  },
  request: {
    method: 'POST',
    url: 'https://api.github.com/repos/apache/cloudberry/issues/[78](https://github.com/apache/cloudberry/actions/runs/12409149152/job/34642168577?pr=787#step:3:78)7/comments',
    headers: {
      accept: 'application/vnd.github.v3+json',
      'user-agent': 'actions/github-script octokit-core.js/3.6.0 Node.js/20.18.0 (linux; x64)',
      authorization: 'token [REDACTED]',
      'content-type': 'application/json; charset=utf-8'
    },
    body: '{"body":"\\n  > [!NOTE]\\n  > This is not a required check for merging this PR, just for your reference.\\n\\n   **Attention:** The following old brand terms were found in your changes: `Cloudberry Database`,`CloudberryDB`,`Cloudberry DB`,`Greenplum Database`,`Greenplum`,`GPDB`\\n\\n  Please consider replacing them with \\"Apache Cloudberry\\" or \\"Cloudberry\\" where appropriate. Thank you for ensuring consistency in our branding! 🙏\\n  "}',
    request: { agent: [Agent], hook: [Function: bound bound register] }
  }

Welcome to have your help with this. Thanks in advance.

tuhaihe avatar Dec 19 '24 08:12 tuhaihe

Tested it on my own repo. If it runs successfully, it will be like this:

image

tuhaihe avatar Dec 19 '24 08:12 tuhaihe