Skip to content

build: modernize repo tooling and remove sample-plugin leftovers - #2

Draft
ormsbee wants to merge 1 commit into
mainfrom
initial-cleanup
Draft

ormsbee wants to merge 1 commit into
mainfrom
initial-cleanup

Conversation

@ormsbee

@ormsbee ormsbee commented Sep 26, 2026

Copy link
Copy Markdown
Contributor

Removes code left over from openedx/sample-plugin and brings the tooling in line with openedx/public-engineering#506.

  • Fix setuptools-scm root, move isort into pyproject.toml, drop setup.cfg
  • >=0 deps, 7-day exclude-newer, regenerated edx-lint constraints and uv.lock
  • make check-constraints runs in quality
  • CI (single required check: all required checks passed), semantic release with PyPI trusted publishing, commitlint, standard org workflows, Dependabot
  • Fixed test settings, added smoke tests
  • RTD uses uv sync --group doc; docs/README rewritten

Before the first release: set up PyPI trusted publishing and CODECOV_TOKEN, and require all required checks passed in branch protection.

🤖 Generated with Claude Code

This repo was bootstrapped from openedx/sample-plugin's backend directory.
Remove the course-archiving code, settings, migrations and translations
that came with it, and bring the tooling in line with current Open edX
practices (openedx/public-engineering#506):

- Fix setuptools-scm, which pointed one directory up at the sample-plugin
  repo root, and move the isort config into pyproject.toml (drop setup.cfg).
- Use `>=0` dependency specifiers, a 7-day uv exclude-newer window, and
  regenerate the edx-lint uv constraints and uv.lock.
- Add `make check-constraints` to the quality run; route make targets
  through `uv run`.
- Add GitHub Actions: aggregated CI, semantic release with PyPI trusted
  publishing, commitlint, upgrade-requirements, standard org workflows,
  and Dependabot for actions.
- Fix test settings and add smoke tests so pytest and Django checks pass.
- Point Read the Docs at `uv sync --group doc`, update the Sphinx config,
  and rewrite the README and getting-started docs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ormsbee
ormsbee marked this pull request as draft September 26, 2026 17:19
@ormsbee

ormsbee commented Sep 26, 2026

Copy link
Copy Markdown
Contributor Author

I had Claude generate this. I'm fuzzy on the github workflow side of things. I'm not sure if this is all right yet, but it's more directionally correct than the half-copy job of the sample plugin that I did with the initial commit.

Comment thread pyproject.toml
dependencies = [
"Django",
"openedx-atlas",
"Django>=0",

@ormsbee ormsbee Sep 26, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Note to self: There's no point in allowing any Django version that is out of support. We should put the floor as the lowest version we test. Not clear which services this needs to be installed on yet...?

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.

1 participant