Philipp Hörist pushed to branch master at gajim / gajim


Commits:
52816f7f by Philipp Hörist at 2022-12-03T21:10:11+01:00
ci: Automatically create Gitlab Release

- - - - -


2 changed files:

- + .ci/make_release.py
- .gitlab-ci.yml


Changes:

=====================================
.ci/make_release.py
=====================================
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+
+from __future__ import annotations
+
+import argparse
+import logging
+
+from gitlab import Gitlab
+from gitlab.v4.objects import Project
+
+
+logging.basicConfig(level='INFO', format='%(levelname)s: %(message)s')
+log = logging.getLogger()
+
+
+GITLAB_INSTANCE_URL = 'https://dev.gajim.org'
+PROJECT_ID = 31
+
+
+def adjust_milestones(project: Project, version: str) -> None:
+    log.info('Rename Milestone: Next Release -> %s', version)
+    milestones = project.milestones.list(title='Next Release', get_all=True)
+    assert isinstance(milestones, list)
+    milestone = milestones[0]
+    milestone.title = version
+    milestone.save()
+
+    log.info('Create Milestone: Next Release')
+    project.milestones.create({'title': 'Next Release'})
+
+
+def create_release(project: Project, version: str) -> None:
+    log.info('Create Release: %s', version)
+    project.releases.create({
+        'name': version,
+        'tag_name': version,
+        'milestones': [version],
+    })
+
+
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(description='Make Gitlab Release')
+    parser.add_argument('version', type=str, help='The new version string')
+    parser.add_argument('token', type=str, help='The API token')
+    args = parser.parse_args()
+
+
+    api = Gitlab(GITLAB_INSTANCE_URL, private_token=args.token)
+    api.auth()
+    project = api.projects.get(PROJECT_ID)
+
+    adjust_milestones(project, args.version)
+    create_release(project, args.version)


=====================================
.gitlab-ci.yml
=====================================
@@ -160,3 +160,4 @@ publish-release:
     - git add -u
     - git commit -m "Release Gajim $CI_COMMIT_TAG"
     - git push
+    - .ci/make_release.py $CI_COMMIT_TAG "${PROJECT_TOKEN}"



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/52816f7f56526fce1da12692556aea70ce3d66a4

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/commit/52816f7f56526fce1da12692556aea70ce3d66a4
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to