Files
Actions/releaser/DEVELOPMENT.md
2021-12-21 02:05:21 +01:00

2.0 KiB

Releaser Development

  • The connection issues explained in "Troubleshooting" might be related to some problem deep inside the Python libraries. Some users tried cli/cli, which is written in golang, as an alternative to Releaser (see msys2/msys2-installer#36). In fact, when the Python version of Releaser was written, cli was evaluated as an alternative to PyGitHub. gh release was (and still is) not flexible enough to update the reference of a release, without deleting and recreating it (see cli.github.com: manual/gh_release_create). Deletion and recreation is unfortunate, because it notifies all the watchers of a repository (see eine/tip#111). Nevertheless, it might be desirable to evaluate using gh release upload (see cli.github.com: manual/gh_release_upload) in Releaser.

    • Login through SSH is not supported by cli (see cli/cli#3715); however, on GitHub Actions a token is available ${{ github.token }} and cli is installed by default.
  • In order to avoid Releaser and the dependencies being installed at runtime, we should add a workflow to build a container image and push it to the GitHub Container Registry (say ghcr.io/pyTooling/Releaser). Then, update action.yml to use that image instead of the Dockerfile. That would remove the performance penalty of having additional dependencies (such as pyTooling/pyAttributes or willmcgugan/rich).

  • It might be desirable to have pyTooling.Version.SemVersion handle the regular expression from semver.org, and use proper Python classes in Releaser.