Skip to content

Adopt Keep a Changelog and GitHub Flow; one CI workflow with PyPI publishing - #93

Merged
atrabattoni merged 3 commits into
mainfrom
docs/keep-a-changelog
Oct 16, 2026
Merged

atrabattoni merged 3 commits into
mainfrom
docs/keep-a-changelog

Conversation

@atrabattoni

Copy link
Copy Markdown
Contributor

Prepares the move to GitHub Flow and Keep a Changelog ahead of 0.2.10.

Changelog

  • Release notes move to a root CHANGELOG.md following Keep a Changelog. Every past release is remapped onto Added / Changed / Deprecated / Removed / Fixed, with dates from PyPI, compare links, and breaking changes flagged Breaking.
  • docs/release-notes.md now includes it, so the docs page and its URL are unchanged.
  • The [Unreleased] entry is completed: Engine.opens_collections, the xinterp>=0.2.1 requirement, and the Windows, simplify and scan fixes split out into Fixed.

GitHub Flow

  • main is the only long-lived branch. The contributing guide drops the dev checkout and explains changelog entries and how a release is cut. The "Latest" install in the getting-started guide now points at main.

CI

  • tests.yaml and code-coverage.yaml are merged into a single ci.yaml. Coverage runs on the ubuntu/3.14 test cell instead of a duplicate job.
  • Pushing a version tag runs the tests, checks the tag against __version__, builds the package and publishes it through PyPI trusted publishing.
  • Every action is bumped to a Node 24 release, which removes the Node 20 deprecation warnings.

Before tagging the first release with this workflow:

  • On PyPI, add a trusted publisher: xdas-dev/xdas, workflow ci.yaml, environment pypi.
  • On GitHub, create the pypi environment, optionally with a required reviewer.
  • If main is protected, update its required status checks to the new test (...) jobs.

Move the release notes to a root CHANGELOG.md in Keep a Changelog form,
every past release remapped onto Added/Changed/Deprecated/Removed/Fixed
with breaking changes flagged; the docs page now includes it. Complete the
unreleased entry. The contributing guide drops the dev branch, and explains
changelog entries and how a release is cut.
Coverage runs on the ubuntu/3.14 test cell instead of a duplicate job. A
pushed version tag builds the package once the tests pass, checks it
against __version__ and publishes it through PyPI trusted publishing.
Bump every action to a Node 24 release; push CI runs on main only.
@atrabattoni
atrabattoni merged commit 4310397 into main Oct 16, 2026
6 checks passed
@codecov

codecov Bot commented Oct 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (c7204ea) to head (4a72159).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #93   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           49        49           
  Lines         9427      9427           
  Branches      1699      1699           
=========================================
  Hits          9427      9427           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@atrabattoni
atrabattoni deleted the docs/keep-a-changelog branch October 16, 2026 12:18
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