Publishing ========== Every pushed commit builds, validates, and publishes the package to the Gitea PyPI-compatible package registry. The workflow intentionally does not use ``actions/upload-artifact`` because current Gitea Actions runners do not support the GitHub artifact API required by ``upload-artifact@v4``. The publishing workflow creates a CI-only package version by appending the run number to the module version from ``tryton.cfg``. For example, a module version of ``8.0.0`` is published as ``8.0.0.post123`` on run number ``123``. This is necessary because Gitea's PyPI-compatible registry is a custom package repository for Twine and does not support ``twine upload --skip-existing``. Required repository secrets: * ``GITEA_PACKAGE_USER`` * ``GITEA_PACKAGE_TOKEN`` Publish a release branch: .. code-block:: console git switch -c 8.0.0 git push origin 8.0.0 Install from Gitea: .. code-block:: console pip install \ --index-url https://gitea.joseagrc.com/api/packages/tryton-do/pypi/simple \ trytond_account_do