Skip to content

Update workflows to use pipenv-setup@v4.4.0 with editable flag#1294

Merged
fizyk merged 5 commits intodbfixtures:mainfrom
tboy1337:editable-package
Apr 13, 2026
Merged

Update workflows to use pipenv-setup@v4.4.0 with editable flag#1294
fizyk merged 5 commits intodbfixtures:mainfrom
tboy1337:editable-package

Conversation

@tboy1337
Copy link
Copy Markdown
Contributor

@tboy1337 tboy1337 commented Mar 13, 2026

Summary

Upgrades fizyk/actions-reuse pipenv-setup action from v4.2.1 to v4.4.0 across all workflow files that install the package before running tests. The new version adds built-in support for installing the package in editable mode via the editable flag, removing the need for separate explicit pip install -e . steps.

Changes

  • dockerised-postgres.yml: Split the combined pipenv@v4.2.1 action into separate pipenv-setup@v4.4.0 (with editable: true) and pipenv-run@v4.2.1 steps, aligning it with the pattern used in the other workflow files.
  • oldest-postgres.yml: Upgraded pipenv-setup to v4.4.0 and added editable: true.
  • single-postgres.yml: Upgraded pipenv-setup to v4.4.0 and added editable: true.

This aligns with the pattern established in pytest-mongo and reduces workflow complexity.

Addresses request from PR #1182.

Summary by CodeRabbit

Release Notes

  • Chores
    • Restructured PostgreSQL test configuration and CI/CD workflow for improved test execution consistency
    • Updated development environment setup to streamline pytest-postgresql integration and eliminate redundant plugin registration steps

Upgraded fizyk/actions-reuse pipenv-setup action from v4.2.1 to v4.4.0
which includes built-in support for editable package installation via
the editable flag.

Changes:
- Updated pipenv-setup to v4.4.0 in dockerised-postgres.yml, oldest-postgres.yml, and single-postgres.yml
- Added editable: true parameter to all pipenv-setup steps
- Split dockerised-postgres.yml combined pipenv action into separate pipenv-setup and pipenv-run steps

Made-with: Cursor
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 13, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c0327ca9-8682-46fe-8965-2ad31b943c5b

📥 Commits

Reviewing files that changed from the base of the PR and between 0e44282 and b62ef52.

📒 Files selected for processing (5)
  • .github/workflows/dockerised-postgres.yml
  • Pipfile
  • newsfragments/+pipfile-editable.misc.rst
  • tests/conftest.py
  • tests/test_postgres_options_plugin.py
💤 Files with no reviewable changes (2)
  • tests/conftest.py
  • tests/test_postgres_options_plugin.py
✅ Files skipped from review due to trivial changes (2)
  • Pipfile
  • newsfragments/+pipfile-editable.misc.rst
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/dockerised-postgres.yml

📝 Walkthrough

Walkthrough

The pull request refactors pytest-postgresql integration by converting it to an editable self-install in Pipfile, splitting the CI workflow Pipenv action into separate setup and run steps, and removing manual plugin imports and re-registrations from test configuration files.

Changes

Cohort / File(s) Summary
CI Workflow Refactoring
.github/workflows/dockerised-postgres.yml
Split single Pipenv action into dedicated pipenv-setup and pipenv-run steps; relocated pytest command with coverage reporting from setup to run step.
Dependency Management
Pipfile, newsfragments/+pipfile-editable.misc.rst
Added pytest-postgresql as editable local package; documented update explaining removal of manual plugin imports and makeconftest calls.
Test Configuration
tests/conftest.py, tests/test_postgres_options_plugin.py
Removed wildcard import from pytest_postgresql.plugin in conftest and eliminated makeconftest call that re-registered the plugin, enabling cleaner editable install integration.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A rabbit hops through code so clean,
Pytest-postgresql, now editable seen!
No magic imports, no conftest tricks,
Just Pipfile declaring the elegant fix.
CI workflows split, plugins at rest—
Order and simplicity put to the test! ✨

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes: updating workflows to use pipenv-setup@v4.4.0 with the editable flag, and adding pytest-postgresql as an editable dependency in Pipfile.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Newsfragment Check ✅ Passed A newsfragment file has been properly added at newsfragments/+pipfile-editable.misc.rst following correct towncrier naming conventions and documenting the relevant changes.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

tboy1337 added a commit to tboy1337/pytest-postgresql that referenced this pull request Mar 13, 2026
The pipenv-setup@v4.4.0 upgrade and editable: true flag additions have
been extracted into a dedicated PR (dbfixtures#1294). Remove those changes from
this branch to avoid duplication and conflicts once that PR is merged.

Made-with: Cursor
@fizyk
Copy link
Copy Markdown
Member

fizyk commented Mar 13, 2026

We need also a conftest changes (and newsfragment).

Additionally, what I found is that if you add entry like that: https://github.com/dbfixtures/pytest-dynamodb/blob/main/Pipfile#L12

You actually don't need the editable true option at all

Removed the editable flag from workflow files to streamline the setup process. This change ensures that the editable flag is only specified where necessary, specifically in the Pipfile for pytest-postgresql.

Changes:
- Added pytest-postgresql as an editable dependency in Pipfile
- Removed editable: true from dockerised-postgres.yml, oldest-postgres.yml, and single-postgres.yml

Made-with: Cursor
@tboy1337
Copy link
Copy Markdown
Contributor Author

We need also a conftest changes (and newsfragment).

Additionally, what I found is that if you add entry like that: https://github.com/dbfixtures/pytest-dynamodb/blob/main/Pipfile#L12

You actually don't need the editable true option at all

What do you want me to do to the conftest?

Copy link
Copy Markdown
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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@newsfragments/`+pipfile-editable.misc.rst:
- Line 1: Rename the newsfragment file +pipfile-editable.misc.rst to the
required orphan naming pattern so Towncrier validation will pass; change the
filename to either +<hash>.misc.rst (a unique hash) or <issue_number>.misc.rst
if this change is associated with an issue, keeping the .misc.rst suffix (the
fragment content can remain unchanged).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: df78e1a7-5dec-4dd5-8878-0b95d89d111d

📥 Commits

Reviewing files that changed from the base of the PR and between ae39048 and 0e44282.

📒 Files selected for processing (5)
  • .github/workflows/dockerised-postgres.yml
  • .github/workflows/oldest-postgres.yml
  • .github/workflows/single-postgres.yml
  • Pipfile
  • newsfragments/+pipfile-editable.misc.rst
🚧 Files skipped from review as they are similar to previous changes (2)
  • .github/workflows/oldest-postgres.yml
  • .github/workflows/dockerised-postgres.yml

@fizyk
Copy link
Copy Markdown
Member

fizyk commented Mar 14, 2026

We need also a conftest changes (and newsfragment).
Additionally, what I found is that if you add entry like that: https://github.com/dbfixtures/pytest-dynamodb/blob/main/Pipfile#L12
You actually don't need the editable true option at all

What do you want me to do to the conftest?

With editable install, and this line:
https://github.com/dbfixtures/pytest-postgresql/blob/main/tests/conftest.py#L7

Also, this line for pytester tests:
https://github.com/dbfixtures/pytest-postgresql/blob/main/tests/test_postgres_options_plugin.py#L22

We'll get this error:
https://github.com/dbfixtures/pytest-postgresql/actions/runs/23081206990/job/67065849345?pr=1294#step:8:101

Once we get this change running and merged, your other PRs won't need to wait for me to trigger CI. At least in theory

tboy1337 and others added 3 commits March 17, 2026 21:39
…es.yml conflict keeping split setup/run steps at v4.4.4

Made-with: Cursor
… With pytest-postgresql installed editably via Pipfile, the plugin is auto-registered through entry points. Remove the wildcard import from tests/conftest.py and the makeconftest call from pointed_pytester that caused duplicate plugin registration errors (fizyk requested in PR 1294)

Made-with: Cursor
@tboy1337
Copy link
Copy Markdown
Contributor Author

@fizyk should be ok now.

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fizyk fizyk merged commit 7cb3e83 into dbfixtures:main Apr 13, 2026
52 checks passed
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