diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b76529e..5bd8214 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -58,7 +58,12 @@ docker:
- apk --update add py-pip
- pip install docker-compose
script:
- - CACHE_IMAGE="${CI_REGISTRY_IMAGE:+$CI_REGISTRY_IMAGE/satnogs-network:$CI_COMMIT_REF_NAME}"; export CACHE_IMAGE
+ - |
+ [ -z "$CI_REGISTRY_IMAGE" ] || {
+ CACHE_IMAGE="$CI_REGISTRY_IMAGE/satnogs-network:$CI_COMMIT_REF_NAME}"
+ [ -z "$CI_COMMIT_TAG" ] || CACHE_IMAGE="$CI_REGISTRY_IMAGE/satnogs-network:latest"
+ export CACHE_IMAGE
+ }
- docker-compose -f docker-compose.yml -f docker-compose.cache.yml pull cache_image || true
- docker-compose -f docker-compose.yml -f docker-compose.cache.yml build --pull
- |
@@ -66,16 +71,24 @@ docker:
docker login -u $CI_REGISTRY_USER -p $CI_JOB_TOKEN $CI_REGISTRY
docker tag satnogs-network:latest $CI_REGISTRY_IMAGE/satnogs-network:$CI_COMMIT_REF_NAME
docker push $CI_REGISTRY_IMAGE/satnogs-network:$CI_COMMIT_REF_NAME
+ [ -z "$CI_COMMIT_TAG" ] || {
+ docker tag satnogs-network:latest $CI_REGISTRY_IMAGE/satnogs-network:latest
+ docker push $CI_REGISTRY_IMAGE/satnogs-network:latest
+ }
}
[ -z "$DOCKERHUB_PASSWORD" ] || {
docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASSWORD
docker tag satnogs-network:latest librespace/satnogs-network:$CI_COMMIT_REF_NAME
docker push librespace/satnogs-network:$CI_COMMIT_REF_NAME
+ [ -z "$CI_COMMIT_TAG" ] || {
+ docker tag satnogs-network:latest librespace/satnogs-network:latest
+ docker push librespace/satnogs-network:latest
+ }
}
only:
refs:
- master
- - dev
+ - tags
trigger_master:
stage: trigger
image: alpine
@@ -88,15 +101,15 @@ trigger_master:
- master
variables:
- $PIPELINE_TRIGGERS_MASTER
-trigger_dev:
+trigger_latest:
stage: trigger
image: alpine
before_script:
- apk add --no-cache curl
script:
- - for trigger in $PIPELINE_TRIGGERS_DEV; do curl -X POST "$trigger"; done
+ - for trigger in $PIPELINE_TRIGGERS_LATEST; do curl -X POST "$trigger"; done
only:
refs:
- - dev
+ - tags
variables:
- - $PIPELINE_TRIGGERS_DEV
+ - $PIPELINE_TRIGGERS_LATEST
diff --git a/docs/index.rst b/docs/index.rst
index c03ff4e..19b5eaa 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -7,4 +7,5 @@ satnogs-network
installation
developer-guide
+ releasing
maintenance
diff --git a/docs/releasing.rst b/docs/releasing.rst
new file mode 100644
index 0000000..3ae4a3d
--- /dev/null
+++ b/docs/releasing.rst
@@ -0,0 +1,25 @@
+Releasing
+=========
+
+
+Versioning scheme
+-----------------
+
+This repository follows `PEP-440 `_ versioning scheme.
+All releases must use a `X.Y` segment version which signifies a final project release and is compatible with `Semantic Versioning `_.
+The versions must be numbered in a consistently increasing fashion.
+Major `X` will never need to be increased unless the application is completely rewritten.
+Minor `Y` shall be increased on each release.
+A Patch or additional segments, as described in SemVer, shall not be used.
+
+
+Release procedure
+-----------------
+
+To make a new release:
+
+#. Find the next available minor version among the whole set of already present tags in the repository.
+
+#. Create an annotated tag from `master` branch in GitLab with a commit message::
+
+ Tag version 'X.Y'