Skip to content

ci: adopt wads uv-based workflow + bump to 0.1.0#1

Merged
thorwhalen merged 2 commits intomainfrom
add-wads-ci
Apr 28, 2026
Merged

ci: adopt wads uv-based workflow + bump to 0.1.0#1
thorwhalen merged 2 commits intomainfrom
add-wads-ci

Conversation

@thorwhalen
Copy link
Copy Markdown
Member

Set up CI/CD per the wads-migrate skill so the package can publish itself to PyPI.

Changes

  • `.github/workflows/ci.yml`: copied from `wads/data/github_ci_uv.yml` (the modern uv-based template). Reads `[tool.wads.ci]` from `pyproject.toml` (uv installer, 3.10/3.12 matrix, no coverage, no Windows). Auto-publishes on main pushes via `uv publish` using the existing `PYPI_PASSWORD` token secret.
  • `.gitignore`: replaced with the wads template (only delta is the standard `wads_configs.json` prefix).
  • `pyproject.toml`: bump version `0.0.1` → `0.1.0` to match the public API contract from Extract auth into enlace_auth (BREAKING; 0.1.0) enlace#13. The PR description for the auth-extraction said 0.1.0; the file shipped as 0.0.1. Aligning before first publish.
  • Lint cleanup (autofix + 2 line splits): unused `Optional` / `AuthConfig` imports, sorted import blocks in `main.py` and `diagnostics.py`, hoisted long-line set comprehension and getattr lookups into named locals.

Verification

  • `uvx ruff check enlace_auth` clean
  • `pytest tests/`: 98/98 pass locally
  • CI green on this branch (Validation 3.10 + 3.12, Publish skipped because it gates on `refs/heads/main`)

What happens on merge

The Publish job runs (gated on the branch being `main`/`master`). It builds sdist + wheel via uv, publishes to PyPI as `enlace_auth` 0.1.0, and pushes a CI commit bumping version per wads convention.

Companion PRs unblocked

Once `enlace_auth==0.1.0` is on PyPI, these can land:

- Add .github/workflows/ci.yml from wads/data/github_ci_uv.yml.
  Reads [tool.wads.ci] from pyproject (uv installer, 3.10/3.12
  matrix, no coverage, no Windows). Publishes to PyPI on main
  pushes via uv publish + the existing PYPI_PASSWORD token secret.

- Replace .gitignore with the wads template (only adds the standard
  wads_configs.json prefix; rest is identical to what was here).

- Bump version 0.0.1 -> 0.1.0 to match the public API contract
  documented in i2mint/enlace#13. The PR description says 0.1.0;
  the file said 0.0.1. Aligning before first publish so the wheel
  metadata matches what callers were told to pin against.

Pushing to a feature branch first to verify CI passes; merge to
main triggers publish.
- ruff --fix: removed unused imports (Optional, AuthConfig) and
  reordered import blocks in __main__.py and diagnostics.py.
- admin/routes.py: split a long line by lifting a set comprehension
  into a named local (existing_lower).
- plugin.py: hoist getattr(app, 'shared_password_env', None) into a
  local so the if-test fits in 88 chars.

98/98 tests pass locally; ruff check clean.
@thorwhalen thorwhalen merged commit 678c15a into main Apr 28, 2026
7 checks passed
@thorwhalen thorwhalen deleted the add-wads-ci branch April 28, 2026 11:13
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