beaker-project / beaker

Hardware integration testing system and lab automation for Fedora and RHEL
http://beaker-project.org/
GNU General Public License v2.0
80 stars 42 forks source link

Rework PyPI dist release pipeline #198

Closed StykMartin closed 11 months ago

StykMartin commented 11 months ago

This pull request changes the way we publish artifacts to PyPI. We no longer use secrets to publish artifacts, instead, artifacts are published to PyPI using a trusted publisher. This approach is documented here - https://docs.pypi.org/trusted-publishers/. The release pipeline is also part of the production environment. This means we can apply multiple rules and adjust the conditions for when the new release can be made (gating).

Also, we don't need multiple workflows to perform these actions, so I merged pipelines and used a strategy matrix to do the trick.

-- I plan to extend this definition to include production COPR builds in the next PR.