Explorar el Código

chore(mix): correctly define release version

With this, we no longer need the last hack in `mix_release.sh`.

A version schema with 3 parts (Major.Minor.Patch) is required by
Elixir:

https://hexdocs.pm/elixir/1.13.1/Version.html#module-versions
Thales Macedo Garitezi hace 4 años
padre
commit
238895a301
Se han modificado 4 ficheros con 10 adiciones y 52 borrados
  1. 1 1
      .github/workflows/elixir_release.yml
  2. 5 1
      apps/emqx/include/emqx_release.hrl
  3. 4 23
      mix.exs
  4. 0 27
      mix_release.sh

+ 1 - 1
.github/workflows/elixir_release.yml

@@ -24,7 +24,7 @@ jobs:
       - name: produce emqx.conf.all template
         run: make conf-segs
       - name: elixir release
-        run: ./mix_release.sh
+        run: mix release --overwrite
       - name: start release
         run: |
           cd _build/dev/rel/emqx_base

+ 5 - 1
apps/emqx/include/emqx_release.hrl

@@ -24,4 +24,8 @@
 
 %% NOTE: This version number should be manually bumped for each release
 
--define(EMQX_RELEASE, "5.0-beta.2").
+%% NOTE: This version number should have 3 numeric parts
+%% (Major.Minor.Patch), and extra info can be added after a final
+%% hyphen.
+
+-define(EMQX_RELEASE, "5.0.0-beta.2").

+ 4 - 23
mix.exs

@@ -340,31 +340,12 @@ defmodule EMQXUmbrella.MixProject do
     ])
   end
 
-  def project_path() do
-    Path.expand("..", __ENV__.file)
-  end
-
   def pkg_vsn() do
-    project_path()
-    |> Path.join("pkg-vsn.sh")
-    |> System.cmd([])
-    |> elem(0)
-    |> String.trim()
-    |> String.split("-")
-    |> Enum.reverse()
-    |> tl()
-    |> Enum.reverse()
-    |> fix_vsn()
-    |> Enum.join("-")
-  end
+    basedir = Path.dirname(__ENV__.file)
+    script = Path.join(basedir, "pkg-vsn.sh")
+    {str_vsn, 0} = System.cmd(script, [])
 
-  # FIXME: remove hack
-  defp fix_vsn([vsn | extras]) do
-    if Version.parse(vsn) == :error do
-      [vsn <> ".0" | extras]
-    else
-      [vsn | extras]
-    end
+    String.trim(str_vsn)
   end
 
   defp win32?(),

+ 0 - 27
mix_release.sh

@@ -1,27 +0,0 @@
-#!/bin/bash
-set -ex
-
-mix release --overwrite
-
-## FIXME: temporary hacks to get the needed configurations for the
-## release to properly start.
-
-## Assumes that `make emqx` has been run before the mix build to
-## generate the correct configs.
-
-# mkdir -p _build/dev/rel/emqx/data/configs/
-# LATEST_APP_CONFIG=$(ls -rt _build/emqx/rel/emqx/data/configs/app*.config | tail -n 1)
-
-# FIXME!
-# cp ${LATEST_APP_CONFIG} _build/dev/rel/emqx/releases/5.0.0-beta.2/sys.config
-# sed -i -E 's#_build/emqx/rel/emqx/etc/emqx.conf#_build/dev/rel/emqx/etc/emqx.conf#g' _build/dev/rel/emqx/releases/5.0.0-beta.2/sys.config
-
-# sed -i -E 's#logger_level,warning#logger_level,debug#g' _build/dev/rel/emqx/releases/5.0.0-beta.2/sys.config
-# sed -i -E 's#level => warning#level => debug#g' _build/dev/rel/emqx/releases/5.0.0-beta.2/sys.config
-
-
-# cp _build/emqx/rel/emqx/releases/emqx_vars _build/dev/rel/emqx/releases/
-# cp _build/emqx/rel/emqx/etc/emqx.conf _build/dev/rel/emqx/etc/
-# cp -r apps/emqx/etc/certs _build/dev/rel/emqx/etc/
-
-echo "telemetry { enable = false }" >> _build/dev/rel/emqx_base/etc/emqx.conf