Skip to content

build: use Makefile for generating, building, checking documentation, and running formatting - #78

Merged
SashankBhamidi merged 33 commits into
mainfrom
makefile-docs-uv
Nov 2, 2026
Merged

SashankBhamidi merged 33 commits into
mainfrom
makefile-docs-uv

Conversation

@stevepiercy

@stevepiercy stevepiercy commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Use Makefile for generating, building, checking documentation, and running formatting

  • Use uv for managing a Python virtual environment.
  • Update pyproject.toml to use distinct groups, and use compatible dependency versions.
  • Generate .rst stub files from source Python files with make apidoc
  • Use make linkcheckbroken to check links in documentation, then manually fixed broken links.
  • Remove unused theme files.
  • Added templates to generate the SPDX headers from sphinx-apidoc.
  • Added theme templates from icalendar.

Review fixes:

  • Fix a dead requests pip extra, integration.yml never migrated to uv, dropped -W, and a private base class leaking into the public reference docs.
  • Track uv.lock.
  • Fix a regex false positive and an unguarded Sphinx version assumption in the private-base hook.
  • Split the news/63 fragment per behavior, matching contribute.rst's own rule.

Contributes to #63.

…nning formatting

- Use uv for managing a Python virtual environment.
- Update `pyproject.toml` to use distinct groups, and use compatible dependency versions.
- Generate `.rst` stub files from source Python files with `make apidoc`
- Use `make linkcheckbroken` to check links in documentation, then manually fixed broken links.
- Remove unused theme files.
- Added templates to generate the SPDX headers from sphinx-apidoc.
- Added theme templates from icalendar.
@stevepiercy
stevepiercy marked this pull request as draft November 1, 2026 12:44
@codecov

codecov Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@stevepiercy

Copy link
Copy Markdown
Member Author

@SashankBhamidi I left a spelling error on purpose because I was unable to parse the meaning of the sentence. See https://github.com/PyCalendar/calendaring-jmap/actions/runs/41310760173/job/124860437075?pr=78#step:7:68

Can you push a commit to fix whatever you intended there?

@stevepiercy

Copy link
Copy Markdown
Member Author

@SashankBhamidi do you want a separate towncrier check test or use the one that came with the documentation.yml CI from icalendar?

@SashankBhamidi

Copy link
Copy Markdown
Member

Already got one, tests.yml's "Check for a news fragment" job. Don't duplicate it, just wire make's target to call that same towncrier check so it's one source of truth.

@stevepiercy stevepiercy changed the title Makefile docs uv Use Makefile for generating, building, checking documentation, and running formatting Nov 1, 2026
@stevepiercy
stevepiercy marked this pull request as ready for review November 1, 2026 21:40
stevepiercy and others added 3 commits November 1, 2026 17:15
- Change file permissions to execute on bash scripts
- Use 4-space indentation for reStructuredText directives
- Use `shell` for the generic lexer of terminal commands
- Split tests into subsections for unit and integration tests
- Add Vale usage
- Add make targets for running various tests
Vale.Terms=NO and most of the project's vocab accept-list got dropped
or left commented out when this branch's .vale.ini and accept.txt
were rewritten, failing the Documentation CI job on real, pre-existing
prose (async, docstrings, repo, and others). Restored the suppression
and the words still in active use, plus uv and a scoped exception for
the one sentence that deliberately spells "addon" wrong as a
counter-example.
Comment thread docs/contribute.rst Resolved
Comment thread .vale.ini Resolved

@stevepiercy stevepiercy left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

All looks good. Just one question.

Comment thread pyproject.toml Resolved

@stevepiercy stevepiercy left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

LGTM. Merge away!

@SashankBhamidi SashankBhamidi left a comment

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.

Went through everything... caught and fixed a couple more things along the way.

Good to merge. Good work! Thank you!

@SashankBhamidi SashankBhamidi changed the title Use Makefile for generating, building, checking documentation, and running formatting build: use Makefile for generating, building, checking documentation, and running formatting Nov 2, 2026
Comment thread docs/_templates/donate.html Resolved
Comment thread docs/conf.py Resolved
Comment thread news/63.documentation.3.rst Resolved
Comment thread news/63.documentation.1.rst Resolved
Comment thread news/63.documentation.2.rst Resolved
Comment thread docs/_templates/donate.html Resolved

@stevepiercy stevepiercy left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Approved! Merge away!

@SashankBhamidi
SashankBhamidi merged commit 87ee429 into main Nov 2, 2026
14 checks passed
@SashankBhamidi
SashankBhamidi deleted the makefile-docs-uv branch November 2, 2026 07:52
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.

3 participants