Skip to content

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

Open
tboy1337 wants to merge 3 commits intodbfixtures:mainfrom
tboy1337:editable-package
Open

Update workflows to use pipenv-setup@v4.4.0 with editable flag#1294
tboy1337 wants to merge 3 commits intodbfixtures:mainfrom
tboy1337:editable-package

Conversation

@tboy1337
Copy link

@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

  • Chores
    • Updated CI pipelines to use newer testing tooling versions and separated setup from test execution for more reliable runs.
    • Declared a local editable test package to simplify development and CI setup.
    • Added a release note fragment documenting the editable package change for maintainers.

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
Contributor

coderabbitai bot commented Mar 13, 2026

📝 Walkthrough

Walkthrough

Updates Pipenv usage across three GitHub Actions workflows: bumps pipenv-setup to v4.4.0, adds editable installation for the local package, and in dockerised-postgres.yml splits setup and test execution into separate pipenv-setup and pipenv-run steps.

Changes

Cohort / File(s) Summary
Pipenv Setup Refactor
.github/workflows/dockerised-postgres.yml
Replaces a single inline Pipenv step with two steps: pipenv-setup (v4.4.0) to install/setup and pipenv-run to execute tests; moves test invocation out of the setup step and sets editable install.
Pipenv Action Version Bumps
.github/workflows/oldest-postgres.yml, .github/workflows/single-postgres.yml
Updates pipenv-setup action from v4.2.1 → v4.4.0 and adds editable installation/configuration.
Local editable package declaration
Pipfile, newsfragments/+pipfile-editable.misc.rst
Adds pytest-postgresql = {path = ".", editable = true} to Pipfile and adds a newsfragment noting the editable self-install entry.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I nibble at Pipfile leaves with glee,

editable roots now snug for me,
Workflows split — a tidy hop,
Tests run smooth, I barely stop,
A carrot-cheer for CI, woot-woot!

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Newsfragment Check ⚠️ Warning Newsfragment file exists with valid content and type, but filename does not follow required orphan fragment format using hash identifier. Rename the newsfragment file to use hash identifier format: +[hash].misc.rst (e.g., +abc1234.misc.rst) or use PR number format like 1294.misc.rst.
✅ 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 accurately reflects the primary change: updating workflows to use pipenv-setup@v4.4.0 with the editable flag, which aligns with the main objectives and file modifications across workflow files.
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.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

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
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
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
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
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

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