First attempt to add automatic debian packaging release using tags and gitlab release
Important: This merge request should also incorporate this branch containing the package description (in debian/
) and the scripts for generating the packages (in misc/
). But I couldn't find how to merge-request a new branch.
This commit adds two jobs to the CI:
-
A job to create the debian packages, triggered when the branch debian has new changes pushed into it. The generated .deb files are attached as artifacts of the job.
-
A job to create a new release (visible here), triggered when a new tag formatted as
debian/<procset-version>
has been pushed. **The tag must be set on thedebian
branch, as the ci jobs relies on file that are exclusive to this branch.
The proposed release workflow is:
- As before, release the source and add a tag for instance
2.0.0
. - First merge the newly release commit into the debian branch (wait for ci).
- Tag the debian branch with the tag
debian/2.0.0
. And push the tag.
I tried to copy/adapt the methodology from oar, which is officially released in debian. But maybe the workflow can still be lightened.
Possible Improvements:
-
The artifacts of the first jobs never expire, it is required as the artifact as pushed as release assets. However, it is not necessary to keep forever artifacts that doesn't belong to a tagged commit.
-
The debian version is not automatic, it should be manually modified if needed (here). Currently set to bookworm.
-
It is not possible to do release for multiple debian versions. Since procset doesn't use any external dependencies (to my knowledge), it might not be critical at the time.
I believe this MR would also fix issue #10 (closed)