Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Travertino to Toga repository #3086

Merged
merged 55 commits into from
Jan 24, 2025
Merged

Conversation

HalfWhitt
Copy link
Contributor

@HalfWhitt HalfWhitt commented Jan 10, 2025

Fixes beeware/travertino#246

PR Checklist:

  • All new features have been tested
  • All new features have been documented
  • I have read the CONTRIBUTING.md file
  • I will abide by the code of conduct

@HalfWhitt
Copy link
Contributor Author

@freakboy3742 I'm not sure if you're waiting on this to do the new Toga release by any specific time, but in case you are, heads up that I'll have little to no free time for it in the next week or so.

@freakboy3742
Copy link
Member

@HalfWhitt Thanks for the heads up. If the need for a 0.5 release becomes more pressing, we'll build on the work you've done here.

HalfWhitt and others added 6 commits January 22, 2025 10:35
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
Co-authored-by: Russell Keith-Magee <[email protected]>
@mhsmith
Copy link
Member

mhsmith commented Jan 22, 2025

This would mean, of course, that I'd have to evaluate each note on a case by case basis, categorizing as appropriate, when copying them over.

Ignoring the misc items, which are mostly dependabot updates, there are only 15.

And I'm not sure how, if at all, to handle Travertino's existing prior change log in this scheme. Perhaps keep it in Travertino, with a note at the top about it being archived from its prior separate existence?

Seems reasonable.

@freakboy3742
Copy link
Member

Does Travertino need a separate changelog at all in the future? If a Travertino change affects Toga's public API (which is the case for most items in Travertino's existing changelog), then it should go into the Toga changelog. If it doesn't affect Toga's public API, then it doesn't need a public announcement any more than a change to Toga's backend API would.
...
... I think it makes more sense (at least for now) to target release notes based on how, and if, changes ultimately affect Toga users. For instance, the bugfix beeware/travertino#224 is much more relevant in Toga's release notes.

That's fair. It's also going to look odd for most of the Travertino release notes to say "0.5.3 - no changes", as most Toga releases likely won't have Travertino fixes at all (based on historical cadence).

If/when we ever extract Travertino into a standalone repo, the gap in the release notes will be odd; but there won't be any real trigger to do this until Colosseum (or similar) is viable - which also means there won't be any real version cross-project compatibility concerns until this happens, removing the real value of having an independent set of change notes.

So - lets go with:

  1. Run towncrier --draft in the Travertino repo to generate 0.5.0 updates to the travertino CHANGELOG
  2. Migrate the updated CHANGELOG file to the toga/travertino repo
  3. Add a note to the top of the migrated file that notes the repo migration and new release policy, directing to the Toga release notes page.

@HalfWhitt
Copy link
Contributor Author

So - lets go with:

  1. Run towncrier --draft in the Travertino repo to generate 0.5.0 updates to the travertino CHANGELOG
  2. Migrate the updated CHANGELOG file to the toga/travertino repo
  3. Add a note to the top of the migrated file that notes the repo migration and new release policy, directing to the Toga release notes page.

Is that instead of or in addition to adding those changes (or at least ones relevant to Toga users) in Toga's 0.5.0 changes?

...Now that I think about, I have no idea if it's even possible to tell Towncrier to link notes to PRs in another repository. Maybe that's trouble than it's worth.

@freakboy3742
Copy link
Member

Is that instead of or in addition to adding those changes (or at least ones relevant to Toga users) in Toga's 0.5.0 changes?

No - I'm thinking of the documentation of Travertino 0.5.0 as if it were generated from the Travertino repo. The features that have been migrated in this PR were all developed "over there". Going forward, we only have Toga changenotes for Travertino features.

@HalfWhitt
Copy link
Contributor Author

HalfWhitt commented Jan 23, 2025

Okay, I think I've addressed everything:

  • Add Travertino to the Dependabot config
  • Remove unnecessary test dependencies from Travertino
  • Editable install of Travertino for docs-live
  • Add Travertino's changelog, including 0.5.0 and a note explaining the move
    (It has today's date for 0.5.0; we should remember to change it when pushing the actual release.)
  • Add Travertino to the How-To section
    Installing a Toga environment installs Travertino, and we're using the same changelog system, so it doesn't really need any separate mention for how to install and make changes; I've added info about how to run its test suite. -m test now runs both core and Travertino, while -m test-core and -m test-trav run them separately.

Copy link
Member

@freakboy3742 freakboy3742 left a comment

Choose a reason for hiding this comment

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

I've made a couple of minor tweaks, including promoting the release note to FEATURE, since it's a major change worth note - but I've also included a TODO in that feature which will act as a reminder when I draft the final Toga 0.5.0 release notes.

Otherwise this looks great! Thanks for all the work on this (and all the Travertino fixes that have made this change something worth doing!)

@HalfWhitt
Copy link
Contributor Author

And thank you for the cleanup tweaks! I've already got ideas bubbling for more things to improve in Travertino, and it'll be so much easier to do now. 😄

@freakboy3742 freakboy3742 merged commit 20e16f0 into beeware:main Jan 24, 2025
48 checks passed
@HalfWhitt HalfWhitt deleted the add_travertino branch January 24, 2025 04:39
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.

Move Travertino to Toga repository?
3 participants