aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2024-11-15 11:17:13 +0100
committerLoïc Hoguin <[email protected]>2024-11-15 11:17:13 +0100
commit9323fa206244d306ec1038bbc1108396125e28b3 (patch)
treebb7d4d441fa8dba5ebe94d059166a3d263f865af
parent49213b7463fafbdd6d1d6b68066b901bd62a1ad0 (diff)
downloaderlang.mk-9323fa206244d306ec1038bbc1108396125e28b3.tar.gz
erlang.mk-9323fa206244d306ec1038bbc1108396125e28b3.tar.bz2
erlang.mk-9323fa206244d306ec1038bbc1108396125e28b3.zip
CI: Run Dialyzer tests in parallel jobs
-rw-r--r--.github/workflows/ci.yaml5
-rw-r--r--test/plugin_dialyzer.mk13
2 files changed, 17 insertions, 1 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 572ac88..b83a0fa 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -41,7 +41,10 @@ jobs:
- cover
- c-src
- ct
- - dialyzer
+ - dialyzer SET=1
+ - dialyzer SET=2
+ - dialyzer SET=3
+ - dialyzer SET=4
- edoc
- erlydtl
- escript
diff --git a/test/plugin_dialyzer.mk b/test/plugin_dialyzer.mk
index 4e0557c..eca80a2 100644
--- a/test/plugin_dialyzer.mk
+++ b/test/plugin_dialyzer.mk
@@ -2,6 +2,19 @@
dialyzer_TARGETS = $(call list_targets,dialyzer)
+dialyzer_TARGETS_SET_1 = dialyzer-app dialyzer-apps-only dialyzer-apps-with-local-deps
+dialyzer_TARGETS_SET_2 = dialyzer-beam dialyzer-check dialyzer-custom-plt dialyzer-deps
+dialyzer_TARGETS_SET_3 = dialyzer-erlc-opts dialyzer-local-deps dialyzer-opts dialyzer-plt-apps
+dialyzer_TARGETS_SET_4 = dialyzer-plt-ebin-only dialyzer-plt-swallow-warnings dialyzer-pt
+
+ifneq ($(filter-out $(dialyzer_TARGETS_SET_1) $(dialyzer_TARGETS_SET_2) $(dialyzer_TARGETS_SET_3) $(dialyzer_TARGETS_SET_4),$(dialyzer_TARGETS)),)
+$(error Dialyzer target missing from dialyzer_TARGETS_SET_* variables.)
+endif
+
+ifdef SET
+dialyzer_TARGETS := $(dialyzer_TARGETS_SET_$(SET))
+endif
+
ifneq ($(shell which sem 2>/dev/null),)
DIALYZER_MUTEX = sem --fg --id dialyzer
endif