From 286b5c1a9be7c14c9d4dc242162da9d2cdcdeb5e Mon Sep 17 00:00:00 2001
From: erwan <erwan.jahier@univ-grenoble-alpes.fr>
Date: Tue, 13 Jul 2021 13:57:01 +0200
Subject: [PATCH] build: use another semantic-release tool

---
 .gitlab-ci.yml   | 12 ++++++------
 .releaserc       | 13 +++++++++++++
 Makefile.version |  3 +--
 algo.opam        |  5 ++---
 gui.opam         | 31 ++++++++++++++++---------------
 package.json     |  4 ++--
 rdbgui4sasa.opam | 32 +++++++++++++++++---------------
 sasa.opam        |  7 +++----
 sasacore.opam    | 25 +++++++++++++------------
 9 files changed, 73 insertions(+), 59 deletions(-)
 create mode 100644 .releaserc

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 79001f94..8b383f95 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -48,15 +48,15 @@ test_opam_test:
 
 # automating version numbering
 release:
+  image: node:12-buster-slim
+  stage: release
   before_script:
-    - yarn install --frozen-lockfile
-  image: node:12
+    - apt-get update && apt-get install -y --no-install-recommends git-core ca-certificates
+    - npm install -g semantic-release  @semantic-release/gitlab
+  script:
+    - semantic-release
   only:
     - master
-  script:
-    - $(yarn bin)/semantic-delivery-gitlab --preset eslint  --token ${GITLAB_AUTH_TOKEN}
-  stage: release
-
 
 
 
diff --git a/.releaserc b/.releaserc
new file mode 100644
index 00000000..b124bfa2
--- /dev/null
+++ b/.releaserc
@@ -0,0 +1,13 @@
+{
+    "plugins": [
+        "@semantic-release/commit-analyzer",
+        "@semantic-release/release-notes-generator",
+        ["@semantic-release/gitlab", {
+            "gitlabUrl": "https://gricad-gitlab.univ-grenoble-alpes.fr",
+            "assets": [
+                {"path": "dist/asset.min.css", "label": "CSS distribution"},
+                {"path": "dist/asset.min.js", "label": "JS distribution"}
+            ]
+        }],
+    ]
+}
diff --git a/Makefile.version b/Makefile.version
index d00fd8f4..5f7e69af 100644
--- a/Makefile.version
+++ b/Makefile.version
@@ -1,8 +1,7 @@
 
 SHA:=$(shell git log -1 --pretty=format:"%h"|| echo "opam")
 BRANCH:=$(shell git branch | grep "*" | cut -d ' ' -f 2 || basename `pwd` | echo "opam")
-
-VERSION=$(shell git describe --tags|| basename `pwd` | cut -d '.' -f2-4)
+VERSION=$(shell git describe --tags --abbrev=0 || basename `pwd` | cut -d '.' -f2-4)
 
 del_version:
 	rm -f lib/sasacore/sasaVersion.ml
diff --git a/algo.opam b/algo.opam
index daf9df78..3ffd70d2 100644
--- a/algo.opam
+++ b/algo.opam
@@ -7,10 +7,9 @@ Contains the API to program sasa nodes.
 authors: [ "Erwan Jahier" ]
 license: "CeCILL"
 homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
+dev-repo: "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
 bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+build: ["dune" "build" "-p" name "-j" jobs]
 depends: [
   "ocaml"
   "ocamlfind"
diff --git a/gui.opam b/gui.opam
index 6935db2b..1751cd6d 100644
--- a/gui.opam
+++ b/gui.opam
@@ -1,21 +1,22 @@
 opam-version: "2.0"
 synopsis: "A Graphical User Interface for XXX"
-maintainer: "XXX"
-description: """
-sasa is a *Self-stabilizing Algorithms SimulAtor*. XXX
-"""
-authors: [ "XXX" ]
-license: "CeCILL"
-homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+description: "sasa is a *Self-stabilizing Algorithms SimulAtor*. XXX"
+maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
+authors: "erwan.jahier@univ-grenoble-alpes.fr"
+license: "CeCILL-2.1"
+homepage:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
+bug-reports:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
 depends: [
   "lablgtk3"
   "sasa"
+  "dune" {>= "2.8.5"}
+  "lutils" {>= "0"}
 ]
-depexts: [
-  ["graphviz" "emacs" "gnuplot" "zathura"]
-]
-post-messages: ["The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/ "]
+build: ["dune" "build" "-p" name "-j" jobs]
+post-messages:
+  "The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/"
+depexts: ["graphviz" "emacs" "gnuplot" "zathura"]
+dev-repo:
+  "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
diff --git a/package.json b/package.json
index 99d276a8..eda823da 100644
--- a/package.json
+++ b/package.json
@@ -15,8 +15,8 @@
     "simulation"
   ],
   "author": "Erwan Jahier",
-  "license": "CeCILL",
+  "license": "CECILL-2.1",
   "devDependencies": {
-    "@hutson/semantic-delivery-gitlab": "^9.1.0"
+    "semantic-release": "^17.4.4"
   }
 }
diff --git a/rdbgui4sasa.opam b/rdbgui4sasa.opam
index 4f95c895..67b380fd 100644
--- a/rdbgui4sasa.opam
+++ b/rdbgui4sasa.opam
@@ -1,25 +1,27 @@
 opam-version: "2.0"
 synopsis: "A Graphical User Interface for using rdbg with sasa"
-maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
-description: """
+description: """\
 sasa is a *Self-stabilizing Algorithms SimulAtor*, and rdbg is a reactive 
 program debugger.
 
 The interactive features of sasa are based on rdbg. rdbgui4sasa is a small lablgtk3
-GUI that can be used on top of rdbg when used with sasa.
-"""
-authors: [ "Erwan Jahier" ]
-license: "CeCILL"
-homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+GUI that can be used on top of rdbg when used with sasa."""
+maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
+authors: "Erwan Jahier"
+license: "CeCILL-2.1"
+homepage:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
+bug-reports:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
 depends: [
   "lablgtk3"
   "sasa"
+  "dune" {>= "2.8.5"}
+  "lutils" {>= "0"}
 ]
-depexts: [
-  ["graphviz" "emacs" "gnuplot" "zathura"]
-]
-post-messages: ["The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/ "]
+build: ["dune" "build" "-p" name "-j" jobs]
+post-messages:
+  "The last version can be obtained via (opam repo add) http://www-verimag.imag.fr/DIST-TOOLS/SYNCHRONE/opam-repository/"
+depexts: ["graphviz" "emacs" "gnuplot" "zathura"]
+dev-repo:
+  "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
diff --git a/sasa.opam b/sasa.opam
index c98f47b2..dec92ebe 100644
--- a/sasa.opam
+++ b/sasa.opam
@@ -13,14 +13,13 @@ Basically, one needs to provide:
 authors: [ "Erwan Jahier" ]
 license: "CeCILL"
 homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
+dev-repo: "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
 bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+build: ["dune" "build" "-p" name "-j" jobs]
 depends: [
   "ocaml" { >= "4.02" }
   "ocamlfind"
-  "dune" { >= "1.11" }
+  "dune" { >= "2.0" }
   "ocamlgraph"
   "lutils"
   "rdbg" { >= "1.194" }
diff --git a/sasacore.opam b/sasacore.opam
index 3a7c649f..99a7e4cd 100644
--- a/sasacore.opam
+++ b/sasacore.opam
@@ -1,20 +1,21 @@
 opam-version: "2.0"
 synopsis: "SASA core library"
+description: "The library shared by the sasa binary, and the rdbg plugin."
 maintainer: "erwan.jahier@univ-grenoble-alpes.fr"
-description: """
-The library shared by the sasa binary, and the rdbg plugin.
-"""
-authors: [ "Erwan Jahier" ]
-license: "CeCILL"
-homepage: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
-dev-repo: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-bug-reports: "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
-build:  [make "build"]
-install:  [make "install"]
+authors: "Erwan Jahier"
+license: "CeCILL-2.1"
+homepage:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa"
+bug-reports:
+  "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa/issues"
 depends: [
   "ocaml"
   "ocamlfind"
-  "dune" { build }
+  "dune" {build}
   "ocamlgraph"
+  "lutils" {>= "1.51"}
 ]
-available: [ ocaml-version >= "4.02" ]
+available: ocaml-version >= "4.02"
+build: ["dune" "build" "-p" name "-j" jobs]
+dev-repo:
+  "git+https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git"
-- 
GitLab