Skip to content

[MNT] Add TestPyPI release workflow - #2454

Open
seaic-mac-murchadha wants to merge 3 commits into
sktime:mainfrom
seaic-mac-murchadha:testpypi-release-workflow
Open

seaic-mac-murchadha wants to merge 3 commits into
sktime:mainfrom
seaic-mac-murchadha:testpypi-release-workflow

Conversation

@seaic-mac-murchadha

Copy link
Copy Markdown
Contributor

Reference Issues/PRs

Resolves #2403 for the repo. A maintainer will still need to carry out the TestPyPI-side registration.

What does this implement/fix? Explain your changes.

Add TestPyPI release workflow in pytorch-forecasting. This can be used to perform dry runs and experimental releases without publishing to production.

What should a reviewer concentrate their feedback on?

Concentrate on testpypi_release.yml, comparing it to its existing production release counterpart: pypi_release.yml.

Did you add any tests for the change?

N/A - Workflow PR.

Testing was carried out:

  • Built both distribution artifacts locally.
  • Both distributions passed twine checks.
  • actionlint returned a 0 exit code, passing static validation.

Any other comments?

A maintainer will need to configure a pending Trusted Publisher on TestPyPI prior to the workflow running successfully. I have verified there is not currently an existing pytorch-forecasting project on TestPyPI.

PR checklist

  • The PR title starts with either [ENH], [MNT], [DOC], or [BUG]. [BUG] - bugfix, [MNT] - CI, test framework, [ENH] - adding or improving code, [DOC] - writing or improving documentation or docstrings.
  • Added/modified tests (N/A)
  • Used pre-commit hooks when committing to ensure that code is compliant with hooks. Install hooks with pre-commit install.
    To run hooks independent of commit, execute pre-commit run --all-files

@codecov

codecov Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@24a4d5c). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2454   +/-   ##
=======================================
  Coverage        ?   88.81%           
=======================================
  Files           ?      218           
  Lines           ?    11670           
  Branches        ?        0           
=======================================
  Hits            ?    10365           
  Misses          ?     1305           
  Partials        ?        0           
Flag Coverage Δ
cpu 88.81% <ø> (?)
pytest 88.81% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

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

Thanks!
I think this is good, but before we merge, i think we need to create a ptf account in testpypi. Which will be something for @fkiraly i think

@phoeenniixx phoeenniixx added the maintenance Continuous integration, unit testing & package distribution label Oct 8, 2026

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

After some discussions with other core devs- There is a suggestion:
Is it possible that we keep just one release.yml file, there we build in a separate job and then based on the situation, we do pypi or testpypi release.
See how it is done in shap: https://github.com/shap/shap/blob/main/.github/workflows/build_wheels.yml

@seaic-mac-murchadha

Copy link
Copy Markdown
Contributor Author

Thanks for the feedback @phoeenniixx.

I'll rework the approach to use a shared build/testing path for PyPI and TestPyPI, with conditional publishing based on your shap reference.

@seaic-mac-murchadha

Copy link
Copy Markdown
Contributor Author

Hi @phoeenniixx,

Have adjusted the approach to use a single workflow which covers both PyPI and TestPyPI, based on the shap reference.

The automated test failure appears to be unrelated to the changes.

@phoeenniixx

Copy link
Copy Markdown
Member

Thanks this is brilliant! I think it is ready to merge, but there can be few blockers (from our side):
I think we need to create an account on testpypi (which should happen soon!), and need to test the release - I am not sure how to do this rn :)
I will get back to you when these blockers are cleared.
Thanks a lot!

In the meantime, if you have any comments/suggestions, feel free to reach us out on discord: https://discord.com/invite/54ACzaFsn7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Continuous integration, unit testing & package distribution

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MNT] Add TestPyPI release workflow

2 participants