Skip to content

Enhanced github actions - #164

Merged
petermcd merged 2 commits into
mainfrom
action-enhancements
Aug 22, 2026
Merged

petermcd merged 2 commits into
mainfrom
action-enhancements

Conversation

@petermcd

@petermcd petermcd commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Enhanced GitHub Actions

Summary by Sourcery

Improve GitHub Actions automation, dependency maintenance, and package release handling.

New Features:

  • Trigger publishing from published GitHub releases or manually and tolerate already-existing PyPI distributions.
  • Add a dedicated dependency audit job to the CI workflow.

Enhancements:

  • Enable manual runs for security and validation workflows, add job time limits, and restrict SonarQube analysis to trusted repository events.
  • Group Dependabot updates for Python and GitHub Actions dependencies.

Build:

  • Bump the package version to 1.3.2 and simplify the build requirements.

CI:

  • Annotate and update the pinned GitHub Actions used by the workflows.

Copilot AI lite review requested due to automatic review settings August 21, 2026 23:59
@sourcery-ai

sourcery-ai Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Reviewer's Guide

Enhances GitHub automation by grouping Dependabot updates, tightening workflow controls (time limits, manual dispatch, concurrency tweaks), refining CI security/conditions, and adjusting packaging/release configuration including a patch version bump and build-system requirement change.

File-Level Changes

Change Details Files
Group Dependabot updates for pip and GitHub Actions to reduce PR noise and centralize dependency updates.
  • Configure a pip update group that matches all dependencies with a wildcard pattern.
  • Configure a GitHub Actions update group that matches all actions with a wildcard pattern.
.github/dependabot.yml
Improve CodeQL workflow robustness with manual triggers, execution time limits, and clearer action pinning.
  • Add workflow_dispatch trigger to allow manual CodeQL runs.
  • Set a 30-minute timeout on the analyze job for better failure behavior.
  • Annotate pinned actions/CodeQL bundle SHAs with version comments for easier maintenance.
.github/workflows/codeql-analysis.yml
Adjust publish workflow to trigger on releases, relax concurrency cancellation, enforce timeouts, and refine publishing behavior.
  • Switch trigger from push on main to release-published and add workflow_dispatch.
  • Disable cancel-in-progress in concurrency configuration.
  • Add a 10-minute timeout for the publish job.
  • Document pinned action SHAs with version comments for checkout, setup-uv, and PyPI publish actions.
  • Configure the PyPI publish step to skip uploading distributions that already exist.
.github/workflows/publish.yml
Enhance UV CI workflow with manual triggers, timeouts, a dedicated security audit job, and safer SonarQube execution conditions.
  • Add workflow_dispatch trigger for manual UV runs.
  • Introduce a 15-minute timeout on the uv job and sonarqube job.
  • Pin checkout, setup-uv, and SonarQube actions with documented version comments.
  • Add a separate audit job using uv audit with its own environment setup.
  • Restrict SonarQube job execution to push events or PRs from the same repository to avoid running on forks.
.github/workflows/uv.yml
Improve Zizmor workflow control with manual trigger support, execution timeout, and annotated action pinning.
  • Add workflow_dispatch trigger to allow manual Zizmor runs.
  • Set a 10-minute timeout for the Zizmor job.
  • Add version comments to pinned checkout and zizmor-action SHAs.
.github/workflows/zizmor.yml
Adjust packaging configuration for a new patch release and simplify the build-system requirements.
  • Bump project version from 1.3.1 to 1.3.2 for the new release.
  • Remove setuptools_scm from build-system requirements, leaving setuptools and wheel only.
pyproject.toml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@petermcd petermcd self-assigned this Aug 22, 2026
@petermcd petermcd added the enhancement New feature or request label Aug 22, 2026

@sourcery-ai sourcery-ai 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.

Hey - I've reviewed your changes and they look great!

Sourcery assessment

Needs a human reviewer. The publish workflow now publishes on a released event or manual dispatch, so an incorrect release, branch selection, or build configuration could place a bad package on PyPI. Reverting the workflow cannot fully remove an already published artifact, although the impact is bounded to the affected package version.


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

Restrict manual publishing and regenerate the stale lockfile before approval.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR updates package metadata and GitHub Actions automation for CI, security auditing, dependency maintenance, and release publishing.

Changes:

  • Bumps the package version to 1.3.2 and removes setuptools_scm.
  • Adds manual triggers, timeouts, auditing, and workflow safeguards.
  • Groups Dependabot updates and improves release publishing behavior.
File summaries
File Summary Review status
pyproject.toml Updates package version and build requirements. Moderate issue: regenerate the stale uv.lock.
.github/workflows/zizmor.yml Adds manual execution and timeout configuration. No final comments.
.github/workflows/uv.yml Adds auditing and workflow safeguards. No final comments.
.github/workflows/publish.yml Updates release publishing workflow. Critical issue: restrict or remove unrestricted manual publishing.
.github/workflows/codeql-analysis.yml Adds manual execution and timeout configuration. No final comments.
.github/dependabot.yml Groups dependency updates. No final comments.
Review details

Suppressed comments (1)

pyproject.toml:3

  • This introduces release version 1.3.2 without adding a corresponding entry to CHANGELOG.rst; every prior release listed there has one (for example, 1.3.1 and 1.3.0 at CHANGELOG.rst:4 and :8). Because the new publishing flow publishes this version, add the 1.3.2 release notes alongside the version bump.
version = "1.3.2"
  • Files reviewed: 6/6 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/publish.yml
Comment thread pyproject.toml
@petermcd
petermcd merged commit f7ab546 into main Aug 22, 2026
12 checks passed
@petermcd
petermcd deleted the action-enhancements branch August 22, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants