From 5199151c83e21f495b151479689dbdebc06d6842 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Sat, 31 Jul 2021 21:51:25 +0300
Subject: [PATCH] GitLab packages and releases.

---
 .gitlab-ci.yml   | 47 +++++++++++++++++++++++++++++++++++++++++++++--
 README.rst       |  8 +++-----
 mnpw/__init__.py |  2 +-
 pyproject.toml   |  2 +-
 4 files changed, 50 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b815f5b..4f1ca6a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,8 +4,9 @@ include:
     file: templates/pre-commit.yml
   - project: shore/ci-templates
     file: templates/python.yml
-  - project: shore/ci-templates
-    file: templates/gitlab-release.yml
+
+variables:
+  SKIP_PYPI_UPLOAD: !!str true
 
 build-wheel:
   extends: .python3-build
@@ -61,3 +62,45 @@ bats:
   needs:
     - job: build-executable
       artifacts: true
+
+upload:
+  stage: deploy
+  image: docker.io/curlimages/curl
+  tags: [host01.shore.co.il]
+  only:
+    - tags
+  script:
+    - >-
+      curl
+      --header "JOB-TOKEN: $CI_JOB_TOKEN"
+      --upload-file dist/*.whl
+      "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}.whl"
+    - >-
+      curl
+      --header "JOB-TOKEN: $CI_JOB_TOKEN"
+      --upload-file dist/mnpw
+      "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}"
+
+release:
+  stage: deploy
+  image: registry.gitlab.com/gitlab-org/release-cli:latest
+  tags: [host01.shore.co.il]
+  script:
+    - !!str true
+  only:
+    - tags
+  release:
+    name: Release $CI_COMMIT_TAG
+    tag_name: $CI_COMMIT_TAG
+    ref: $CI_COMMIT_TAG
+    description: Release $CI_COMMIT_TAG
+    assets:
+      links:
+        - name: wheel
+          link_type: package
+          url: |-
+            "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}.whl"
+        - name: binary
+          link_type: package
+          url: |-
+            "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}/${CI_PROJECT_NAME}"
diff --git a/README.rst b/README.rst
index 40ea305..3164f8f 100644
--- a/README.rst
+++ b/README.rst
@@ -12,7 +12,7 @@ It is intended for my personal use as the warning and critical alerts go to `my
 notification mechanism <https://git.shore.co.il/nimrod/nextcloud-notifier>`_.
 There is a small-ish binary that is created in the CI pipeline that doesn't have
 any external dependencies (like the Python VM or any 3rd party Python packages).
-The binary is avaiable at
+The latest binary is avaiable at
 https://git.shore.co.il/shore/mnpw/-/jobs/artifacts/master/raw/dist/mnpw?job=build-executable
 and should work all Linux distro with glibc 2.17 or newer.
 
@@ -47,10 +47,8 @@ Usage as library
 
 Although the CLI is of little use to anybody but me, you may find the Nagios
 plugin handling useful and would want to use it. The package is not published to
-PyPI so your best option is getting the `latest wheel package
-<https://git.shore.co.il/shore/mnpw/-/jobs/artifacts/master/raw/dist/mnpw-0.1.0-py3-none-any.whl?job=build-wheel>`_
-or if you want a specific build, get it from the `CI pipelines
-<https://git.shore.co.il/shore/mnpw/-/pipelines>`_.
+PyPI so your best option is getting a direct download of the wheel package from
+the `releases pages <https://git.shore.co.il/shore/mnpw/-/releases>`_.
 
 License
 -------
diff --git a/mnpw/__init__.py b/mnpw/__init__.py
index 9b67b4f..f5f1dc7 100644
--- a/mnpw/__init__.py
+++ b/mnpw/__init__.py
@@ -1,6 +1,6 @@
 """My Nagios plugin wrapper."""
 # pylint: disable=logging-fstring-interpolation
-__version__ = "0.1.0"
+__version__ = "0.1.0-dev"
 
 import argparse
 import logging
diff --git a/pyproject.toml b/pyproject.toml
index 4e12108..d59747e 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "mnpw"
-version = "0.1.0"
+version = "0.1.0-dev"
 description = "My Nagios plugin wrapper"
 authors = ["Adar Nimrod <nimrod@shore.co.il>"]
 license = "MIT"
-- 
GitLab