NeuroBench / neurobench

Benchmark harness and baseline results for the NeuroBench algorithm track.
https://neurobench.readthedocs.io
Apache License 2.0
64 stars 13 forks source link

Workflow for automated version bump #208

Closed jasonlyik closed 5 months ago

jasonlyik commented 6 months ago

Everytime we merge to main, upload a new version to pypi.

Separately, can also automate readthedocs build

jasonlyik commented 6 months ago

The current workflow automatically publishes to PyPi whenever there is a new release tag on main branch.

Still manual is building the documentation and also creating the repo release.

ben9809 commented 6 months ago

Hi @jasonlyik, I see that the workflow to publish the package on Pypi has failed because of the authentication token

Regarding the documentation, I think we need to look into readthedocs options to auto-build the documentation on the main branch

jasonlyik commented 6 months ago

Yup, I've added the required Trusted Publisher settings on Pypi to solve that issue. For now, I didn't want to delete and re-make the 1.0.4 tag, so I manually published it, but I believe when we reach 1.0.5 there should be no further issues.

For the documentation, sounds good. I think we should honestly get rid of the documentation branch, it is not different from the dev branch and the docs are stable enough now that we can just update on main like you say.

jasonlyik commented 5 months ago

@ben9809 Looks like the automated flow for publishing hasn't been fixed by adding this repo as trusted published. I think it's because poetry publish isn't supported in a Github action.

Based on this: https://github.com/python-poetry/poetry/issues/7940#issuecomment-1551897945

So I've made some updates to the script: https://github.com/NeuroBench/neurobench/commit/479a71004d9a1a09a911440771bb0abffd0d48fd

But I'm not sure how to test whether or not the action works, do you think I should pull it into main and delete / remake the tag?

ben9809 commented 5 months ago

@jasonlyik It seems strange it's not supported, because I've already implemented this workflow for another open-source project and it os still working.

In the meantime try to delete/remake the tag to test if it works with the new workflow

ben9809 commented 5 months ago

From the error message it seems like there is a problem with the authentication token. Has PYPI_API_TOKEN secret been set?

jasonlyik commented 5 months ago

Got it set, and the action was successful! Quick check of 1.0.5 and everything is good

ben9809 commented 5 months ago

Great 💪🏻