ersilia-os / ersilia

The Ersilia Model Hub, a repository of AI/ML models for infectious and neglected disease research.
https://ersilia.io
GNU General Public License v3.0
219 stars 147 forks source link

🐈 Task: Fix Ersilia Release Management #1215

Closed DhanshreeA closed 1 month ago

DhanshreeA commented 3 months ago

Summary

The pipeline scheduled for the beginning of every month to release Ersilia on GitHub, Poetry, and Conda Forge has not been working as expected. It is failing on creating a GH release, publishing to poetry, as well as conda-forge.

Objective(s)

No response

Documentation

No response

GemmaTuron commented 1 month ago

Hi @DhanshreeA

There is a closed issue linked to this, so is that complete as well? Can you update?

DhanshreeA commented 1 month ago

I had fixed the last issue with our release, and now it's a different issue which I need to address, therefore I left this issue open.

GemmaTuron commented 1 month ago

This september there was no version release. Can you explain what different issue you are addressing?

DhanshreeA commented 1 month ago

The way our release workflow works involves three steps, the first of which deals with creating a tag where this workflow failed in the last run.

Tag creation starts by updating the current version by running the static_version_writer.py script which updates the version in both the [pyproject.toml](https://github.com/ersilia-os/ersilia/blob/master/pyproject.toml), and [_static_version.py](https://github.com/ersilia-os/ersilia/blob/master/ersilia/_static_version.py) files. Based on this updated version, we create a tag and then try to commit and push the updated files and the newly created tag. This happened due to the fact that we were scheduled to create a 0.1.37 tag but both pyproject.toml, and _static_version.py files had an incorrect version: 0.1.35 when it should have been 0.1.36. Tag creation failed because it tried to create a tag that already existed in the repository.

After the versioning and tag creation, two simultaneous jobs run to 1) create a GitHub release, 2) publish the updated version to PyPI.

This presently fixed.