Skip to content

Install workflow deps from pyproject.toml dependency groups#356

Closed
gwdio wants to merge 3 commits into
beeware:mainfrom
gwdio:355-pyproject-app-create-verify
Closed

Install workflow deps from pyproject.toml dependency groups#356
gwdio wants to merge 3 commits into
beeware:mainfrom
gwdio:355-pyproject-app-create-verify

Conversation

@gwdio
Copy link
Copy Markdown
Contributor

@gwdio gwdio commented May 19, 2026

Replace the hardcoded requirements.txt install with --group reads from briefcase-template's pyproject.toml, unblocking the migration in beeware/briefcase-template#236.

Update app-create-verify.yml to install briefcase-template's workflow dependencies via PEP 735 dependency groups (--group) instead of requirements.txt. Adds a pip upgrade step since --group requires pip ≥ 25.1.

Unblocks beeware/briefcase-template#236, which migrates that repo to pyproject.toml. The workflow currently hardcodes pip install -Ur ./briefcase-template/requirements.txt, so deleting the file in the consumer repo would break this workflow for all consumers. Once this lands, the temporary requirements.txt stub in briefcase-template can be removed.

Fixes #355
Refs beeware/briefcase-template#236

PR Checklist:

  • I will abide by the BeeWare Code of Conduct
  • I have read and have followed the CONTRIBUTING.md file
  • This PR was generated or assisted using an AI tool

Assisted-by: Claude Opus 4.7

gwdio added 3 commits May 18, 2026 20:18
Replace the hardcoded requirements.txt install with --group reads
from briefcase-template's pyproject.toml, unblocking the migration
in beeware/briefcase-template#236.
  pip requires dependency group paths to point to the pyproject.toml
  file directly, not just the directory containing it.
Copy link
Copy Markdown
Member

@phildini phildini left a comment

Choose a reason for hiding this comment

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

@freakboy3742 I have reviewed this and think it's good, and have considered the implications, but I think it needs at least a glance from you because it affects the full downstream pipelines.

- name: Install Dependencies
# must install before Briefcase below since requirements.txt contains an entry for Briefcase
run: python -m pip install -Ur ./briefcase-template/requirements.txt
run: python -m pip install --group './briefcase-template/pyproject.toml:test' --group './briefcase-template/pyproject.toml:dev'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

TIL about the filename:group syntax for --group.

I think we might need to revisit the groupings in briefcase-template to make them a little more focussed. I think the set we need is:

  1. pre-commit (to run the pre-commit step on briefcase-template)
  2. tox (to run the unit-test step on briefcase-template)
  3. briefcase (as an explicit target for just briefcase, which is what app-create and app-build should need)
  4. test (the things needed to run the actual test suite - pytest, black, etc, including a link to the briefcase target)
  5. dev (for local development, linking essentially all of the above into a single target)

@gwdio
Copy link
Copy Markdown
Contributor Author

gwdio commented May 19, 2026

After the dependency group refactor in beeware/briefcase-template#262, this branch's changes no longer reflect the target schema. Closing.

@gwdio gwdio closed this May 19, 2026
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.

Update app-create-verify.yml to install deps from pyproject.toml

3 participants