Skip to content

Add Travertino to Toga repository#3086

Merged
freakboy3742 merged 55 commits into
beeware:mainfrom
HalfWhitt:add_travertino
Jan 24, 2025
Merged

Add Travertino to Toga repository#3086
freakboy3742 merged 55 commits into
beeware:mainfrom
HalfWhitt:add_travertino

Conversation

@HalfWhitt

@HalfWhitt HalfWhitt commented Jan 10, 2025

Copy link
Copy Markdown
Member

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

Comment thread core/tests/travertino/__init__.py Outdated
@HalfWhitt

Copy link
Copy Markdown
Member 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
Copy Markdown
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 2 commits January 22, 2025 10:44
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
@mhsmith

mhsmith commented Jan 22, 2025

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
Member 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
Copy Markdown
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

HalfWhitt commented Jan 23, 2025

Copy link
Copy Markdown
Member Author

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.

@freakboy3742 freakboy3742 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.

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
Copy Markdown
Member 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. 😄

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