Skip to content

Migrate to REUSE.toml and update GitHub Actions#188

Merged
dd-jy merged 1 commit into
mainfrom
github_t
Jul 7, 2026
Merged

Migrate to REUSE.toml and update GitHub Actions#188
dd-jy merged 1 commit into
mainfrom
github_t

Conversation

@woocheol-lge

@woocheol-lge woocheol-lge commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Chores
    • Updated several build and release automation components to newer versions for improved reliability.
    • Added standardized licensing metadata and refreshed third-party license text formatting.
    • Adjusted packaging to include the correct license file during distribution.
    • Simplified some test and quality-check commands to run linting directly.
  • Tests
    • Updated CI checks used for pull requests and release workflows.

@woocheol-lge woocheol-lge self-assigned this Jul 6, 2026
@woocheol-lge woocheol-lge added the chore [PR/Issue] Refactoring, maintenance the code label Jul 6, 2026
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@woocheol-lge, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 52 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 18a9a1e0-96ca-4658-a0c7-ef1e899de86e

📥 Commits

Reviewing files that changed from the base of the PR and between 3526fbb and 676d17d.

📒 Files selected for processing (11)
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/workflows/publish-release.yml
  • .github/workflows/pull-request.yml
  • .github/workflows/release-drafter-config.yml
  • .reuse/dep5
  • LICENSES/LicenseRef-3rd-party-licenses.txt
  • REUSE.toml
  • THIRD_PARTY_NOTICE
  • cli.spec
  • pyproject.toml
  • tox.ini
📝 Walkthrough

Walkthrough

This PR upgrades GitHub Actions workflow versions across CI/release workflows, normalizes whitespace formatting in a third-party license notice file, renames that license file reference in cli.spec, adds REUSE.toml with SPDX metadata, and switches tox/pyproject.toml from pytest-flake8 to direct flake8 invocation.

Changes

CI Workflow Action Upgrades

Layer / File(s) Summary
Publish-release workflow upgrades
.github/workflows/publish-release.yml
Upgrades actions/checkout to v7, ad-m/github-push-action to v1.3.0, actions/setup-python to v6, and actions/upload-release-asset to v1.0.2 across jobs.
Pull-request workflow upgrades
.github/workflows/pull-request.yml
Upgrades actions/checkout to v7, actions/setup-python to v6, and fsfe/reuse-action to v6.
Release-drafter upgrade
.github/workflows/release-drafter-config.yml
Upgrades release-drafter/release-drafter from v5 to v7.

License Text Normalization and REUSE Metadata

Layer / File(s) Summary
REUSE.toml and cli.spec license path
REUSE.toml, cli.spec
Adds REUSE.toml with SPDX package metadata and file annotations; updates cli.spec to reference the renamed LICENSES/LicenseRef-3rd-party-licenses.txt.
License notice whitespace cleanup
LICENSES/LicenseRef-3rd-party-licenses.txt, .reuse/dep5
Normalizes trailing whitespace and blank lines across Apache-2.0, BSD, GPL, MPL, PSF, BeOpen, CNRI, CWI, and tqdm license sections; removes the old .reuse/dep5 licensing metadata.

Tooling Configuration Update

Layer / File(s) Summary
Flake8 invocation and dev dependency change
tox.ini, pyproject.toml, .github/PULL_REQUEST_TEMPLATE.md
Changes ubuntu/release/flake8/windows testenv commands to run flake8 directly instead of via pytest; replaces pytest-flake8 with importlib-metadata==4.2.0 in dev extras.

Estimated code review effort: 2 (Simple) | ~12 minutes

Suggested reviewers: dd-jy

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: adding REUSE.toml and updating GitHub Actions versions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch github_t

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@woocheol-lge
woocheol-lge force-pushed the github_t branch 4 times, most recently from 00ac8ce to 3526fbb Compare July 6, 2026 04:59

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (3)
.github/workflows/pull-request.yml (1)

37-39: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Consider disabling persist-credentials on checkout steps.

Neither the build nor reuse job checkout steps set persist-credentials: false (zizmor artipacked at lines 37 and 53). Neither job pushes commits, so persisting the token in .git/config for the job duration is unnecessary.

🔒 Proposed fix
     steps:
     - uses: actions/checkout@v7
+      with:
+        persist-credentials: false
     - name: Set up Python 3.11
       uses: actions/setup-python@v6

Also applies to: 52-55

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/pull-request.yml around lines 37 - 39, The checkout steps
in the workflow are leaving GitHub credentials persisted in .git/config even
though the build and reuse jobs do not push commits. Update the actions/checkout
usage in both jobs to disable credential persistence by setting
persist-credentials to false, keeping the change anchored around the checkout
steps in the workflow rather than the setup-python actions.

Source: Linters/SAST tools

.github/workflows/publish-release.yml (2)

85-85: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

actions/upload-release-asset repo is archived/unmaintained.

The version bump to v1.0.2 is a real tag, but actions/upload-release-asset was archived by GitHub in 2021 and receives no further updates or security fixes (flagged by zizmor's archived-uses rule). Consider migrating to a maintained alternative such as softprops/action-gh-release.

♻️ Example migration
-    - name: Upload Release Asset
-      id: upload-release-asset
-      uses: actions/upload-release-asset@v1.0.2
-      env:
-        GITHUB_TOKEN: ${{ secrets.TOKEN }}
-      with:
-        upload_url: ${{ github.event.release.upload_url }}
-        asset_path: ./${{ matrix.OUT_FILE_NAME}}
-        asset_name: ${{ matrix.OUT_FILE_NAME}}
-        asset_content_type: ${{ matrix.ASSET_MIME}}
+    - name: Upload Release Asset
+      uses: softprops/action-gh-release@v2
+      with:
+        files: ./${{ matrix.OUT_FILE_NAME }}
+      env:
+        GITHUB_TOKEN: ${{ secrets.TOKEN }}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/publish-release.yml at line 85, The release upload step
still uses the archived actions/upload-release-asset action, so update the
publish-release workflow to a maintained alternative such as
softprops/action-gh-release. Replace the upload step in the release job with the
new action’s equivalent release asset upload configuration, and keep the
surrounding release/tag context intact so the existing publish flow still works.

Source: Linters/SAST tools


14-17: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Consider disabling persist-credentials on checkout steps.

None of the actions/checkout steps in this file set persist-credentials: false, so the job's token is written to .git/config for the whole job (flagged by zizmor's artipacked rule on lines 14-17, 69-71, 98-100). Since update-changelog already authenticates its push explicitly via ad-m/github-push-action's github_token input, and the build/deploy jobs don't need to push at all, disabling credential persistence here is safe hardening with no functional impact.

🔒 Proposed fix (repeat for each checkout step)
     - uses: actions/checkout@v7
       with:
         fetch-depth: 0
         ref: main
+        persist-credentials: false

Also applies to: 69-73, 98-102

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/publish-release.yml around lines 14 - 17, The workflow’s
checkout steps in the publish-release job are leaving the GitHub token persisted
in .git/config, so update each actions/checkout invocation to disable credential
persistence. For the checkout steps used by the update-changelog, build, and
deploy jobs, add persist-credentials set to false on the existing
actions/checkout entries so authentication is only handled where explicitly
needed by ad-m/github-push-action and not stored for the rest of the job.

Source: Linters/SAST tools

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.github/workflows/publish-release.yml:
- Line 85: The release upload step still uses the archived
actions/upload-release-asset action, so update the publish-release workflow to a
maintained alternative such as softprops/action-gh-release. Replace the upload
step in the release job with the new action’s equivalent release asset upload
configuration, and keep the surrounding release/tag context intact so the
existing publish flow still works.
- Around line 14-17: The workflow’s checkout steps in the publish-release job
are leaving the GitHub token persisted in .git/config, so update each
actions/checkout invocation to disable credential persistence. For the checkout
steps used by the update-changelog, build, and deploy jobs, add
persist-credentials set to false on the existing actions/checkout entries so
authentication is only handled where explicitly needed by
ad-m/github-push-action and not stored for the rest of the job.

In @.github/workflows/pull-request.yml:
- Around line 37-39: The checkout steps in the workflow are leaving GitHub
credentials persisted in .git/config even though the build and reuse jobs do not
push commits. Update the actions/checkout usage in both jobs to disable
credential persistence by setting persist-credentials to false, keeping the
change anchored around the checkout steps in the workflow rather than the
setup-python actions.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ee6ca808-3efa-4e42-b40d-febaa8531d25

📥 Commits

Reviewing files that changed from the base of the PR and between fe8881f and 3526fbb.

📒 Files selected for processing (10)
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/workflows/publish-release.yml
  • .github/workflows/pull-request.yml
  • .github/workflows/release-drafter-config.yml
  • .reuse/dep5
  • LICENSES/LicenseRef-3rd-party-licenses.txt
  • REUSE.toml
  • cli.spec
  • pyproject.toml
  • tox.ini
💤 Files with no reviewable changes (3)
  • .github/PULL_REQUEST_TEMPLATE.md
  • .reuse/dep5
  • pyproject.toml

…ke8 directly instead of pytest-flake8

Signed-off-by: woocheol <jayden6659@gmail.com>
@dd-jy
dd-jy merged commit d826f43 into main Jul 7, 2026
6 checks passed
@dd-jy
dd-jy deleted the github_t branch July 7, 2026 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore [PR/Issue] Refactoring, maintenance the code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants