From 6fc201d0587b833111b59ffffbd5f952d368c845 Mon Sep 17 00:00:00 2001 From: Pierre Cavin Date: Sun, 10 Dec 2023 19:09:34 +0100 Subject: [PATCH] fix: force node.js installation on CI --- lib/mix/tasks/semantic_release.ex | 2 +- lib/mix/tasks/semantic_release.install.ex | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/mix/tasks/semantic_release.ex b/lib/mix/tasks/semantic_release.ex index cab29be..b8b6369 100644 --- a/lib/mix/tasks/semantic_release.ex +++ b/lib/mix/tasks/semantic_release.ex @@ -21,7 +21,7 @@ defmodule Mix.Tasks.SemanticRelease do """ @shortdoc "Runs Semantic Release" - @requirements ["nodelix.install", "semantic_release.install"] + @requirements ["semantic_release.install"] use Mix.Task require Logger diff --git a/lib/mix/tasks/semantic_release.install.ex b/lib/mix/tasks/semantic_release.install.ex index 0090f54..1620caa 100644 --- a/lib/mix/tasks/semantic_release.install.ex +++ b/lib/mix/tasks/semantic_release.install.ex @@ -21,6 +21,14 @@ defmodule Mix.Tasks.SemanticRelease.Install do @impl Mix.Task def run(_) do + node_version = Nodelix.VersionManager.latest_lts_version() + + # force installation on CI because using the cached version fails + if not Nodelix.VersionManager.is_installed?(node_version) or + System.get_env("CI") == "true" do + Nodelix.VersionManager.install(node_version) + end + Logger.debug("Installing dependencies ...") Mix.Tasks.Nodelix.Npm.run(