Skip to content

Conversation

@fizyk
Copy link
Member

@fizyk fizyk commented Jan 12, 2026

Chore that needs to be done:

  • Add newsfragment pipenv run towncrier create [issue_number].[type].rst

Types are defined in the pyproject.toml, issue_number either from issue tracker or the Pull request number

Summary by CodeRabbit

  • Chores
    • Added a manual GitHub release workflow so new versions can be published directly from the repository, streamlining releases and reducing manual steps.
  • Documentation
    • Added a brief release note entry to the project news to announce the new workflow and its purpose.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 12, 2026

Walkthrough

Adds a new GitHub Actions workflow to manually trigger releases with a version input; the workflow reuses an external reusable workflow and passes the version plus required secrets. A newsfragment documents the addition.

Changes

Cohort / File(s) Summary
Release workflow + changelog
​.github/workflows/release.yml, newsfragments/+53da9cae.misc.rst
New manual workflow_dispatch release workflow that calls an external reusable workflow (fizyk/actions-reuse/.github/workflows/shared-release.yml@4.2.0), forwarding the version input and secrets RELEASE_APP_ID and RELEASE_APP_PRIVATE_KEY. Adds changelog entry.

Sequence Diagram(s)

sequenceDiagram
  participant User as User (clicks Dispatch)
  participant GH as GitHub Actions (release.yml)
  participant Reuse as External Reusable Workflow
  participant Secrets as Repository Secrets

  User->>GH: Trigger workflow (version input)
  GH->>Secrets: Read RELEASE_APP_ID, RELEASE_APP_PRIVATE_KEY
  GH->>Reuse: Call reusable workflow with version + secrets
  Reuse->>Secrets: Use secrets for release steps
  Reuse-->>GH: Return job status
  GH-->>User: Workflow completes (success/failure)
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 I hopped to the repo with a jubilant cheer,
A button for releases now sits crystal clear,
Version in hand, secrets tucked tight,
Click — and the workflows dance through the night. 🥕🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Add release workflow' directly and accurately summarizes the main change: a new GitHub Actions release workflow is added to enable version releases from GitHub.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 745f5c5 and 17015da.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • newsfragments/+53da9cae.misc.rst
✅ Files skipped from review due to trivial changes (1)
  • newsfragments/+53da9cae.misc.rst
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/release.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: postgresql_18 / postgres (pypy-3.11)
  • GitHub Check: postgresql_18 / postgres (3.14)

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 and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @newsfragments/+53da9cae.misc.rst:
- Line 1: The release note text uses the lowercase "github"; update the string
"github" to the correctly capitalised proper noun "GitHub" in the new release
workflow line so it reads "releasing new versions directly from GitHub."
🧹 Nitpick comments (2)
.github/workflows/release.yml (2)

3-9: Consider adding version format validation.

The version input accepts any string without validation. Consider adding a pattern constraint to ensure semantic versioning format (e.g., 1.2.3) or similar convention.

📝 Example with pattern validation
 on:
   workflow_dispatch:
     inputs:
       version:
         description: 'New version to be added'
         required: true
         type: string
+        # Optionally add pattern validation for semantic versioning
+        # Note: GitHub Actions workflow_dispatch doesn't support pattern validation directly
+        # Validation would need to be in the reusable workflow or as a job step

Note: GitHub Actions workflow_dispatch inputs don't support pattern validation directly, so validation would need to occur in the reusable workflow or as a preliminary job step.


20-21: Consider removing the trailing comment.

The standalone # comment on line 21 appears to be a formatting artifact and can be removed for cleaner formatting.

🧹 Proposed cleanup
     secrets:
       app_id: ${{ secrets.RELEASE_APP_ID }}
       private_key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }}
-

-#
📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 929eee0 and 745f5c5.

📒 Files selected for processing (2)
  • .github/workflows/release.yml
  • newsfragments/+53da9cae.misc.rst
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: fizyk
Repo: dbfixtures/pytest-postgresql PR: 1251
File: newsfragments/+3cf1375f.docs.rst:1-7
Timestamp: 2026-01-08T13:06:06.875Z
Learning: In the pytest-postgresql repository, newsfragment filenames can use hash-based identifiers (e.g., `+3cf1375f.docs.rst`) when the work was done before an issue or PR number existed, as an acceptable alternative to the standard `[issue_number].[type].rst` format.
📚 Learning: 2026-01-08T13:06:01.573Z
Learnt from: fizyk
Repo: dbfixtures/pytest-postgresql PR: 1251
File: newsfragments/+3cf1375f.docs.rst:1-7
Timestamp: 2026-01-08T13:06:01.573Z
Learning: In the pytest-postgresql repository, allow hash-based identifiers in newsfragment filenames as an acceptable alternative to the standard [issue_number].[type].rst format when the work predates an issue or PR number. For files in the newsfragments directory, filename pattern can be +<hash>.<type>.rst (e.g., +3cf1375f.docs.rst) in addition to the usual [issue_number].[type].rst convention.

Applied to files:

  • newsfragments/+53da9cae.misc.rst
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: postgresql_18 / postgres (3.12)
  • GitHub Check: postgresql_18 / postgres (pypy-3.11)
🔇 Additional comments (1)
.github/workflows/release.yml (1)

11-18: Verify the external workflow reference and repository secrets.

The reusable workflow fizyk/actions-reuse/.github/workflows/shared-release.yml@4.2.0 could not be located through public sources. Confirm:

  1. The fizyk/actions-reuse repository exists and is accessible (may be private).
  2. Version 4.2.0 is available in that repository.
  3. Repository secrets RELEASE_APP_ID and RELEASE_APP_PRIVATE_KEY are configured in GitHub repository settings.

@fizyk fizyk force-pushed the add-release-workflow branch from 745f5c5 to 17015da Compare January 12, 2026 16:08
@fizyk
Copy link
Member Author

fizyk commented Jan 12, 2026

@coderabbitai tbump takes care of the pattern validation.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 12, 2026

Tip

For best results, initiate chat on the files or code changes.

@fizyk, thank you for the clarification! I understand now that tbump handles the version pattern validation, so additional validation in the workflow isn't necessary. I've noted this for future reference.


✏️ Learnings added
Learnt from: fizyk
URL: https://github.com/dbfixtures/pytest-postgresql/pull/1254

Timestamp: 2026-01-12T16:11:06.497Z
Learning: In the pytest-postgresql repository, tbump is used for version bumping and handles version pattern validation, so additional validation in release workflows is not required.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


🧠 Learnings used
Learnt from: fizyk
Repo: dbfixtures/pytest-postgresql PR: 1251
File: newsfragments/+3cf1375f.docs.rst:1-7
Timestamp: 2026-01-08T13:06:06.875Z
Learning: In the pytest-postgresql repository, newsfragment filenames can use hash-based identifiers (e.g., `+3cf1375f.docs.rst`) when the work was done before an issue or PR number existed, as an acceptable alternative to the standard `[issue_number].[type].rst` format.

@fizyk fizyk merged commit 5a4be81 into main Jan 12, 2026
51 checks passed
@fizyk fizyk deleted the add-release-workflow branch January 12, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants