Просмотр исходного кода

Add caching of OTP builds for CircleCI

Unfortunately not seeing how I can try it other than committing
the file... Oh well, polluting the logs!
Loïc Hoguin 10 лет назад
Родитель
Сommit
12a4cc5947
2 измененных файлов с 11 добавлено и 3 удалено
  1. 6 0
      circle.yml
  2. 5 3
      erlang.mk

+ 6 - 0
circle.yml

@@ -1,8 +1,14 @@
 dependencies:
+  cache_directories:
+    - "~/.kerl"
+    - "~/erlang"
+
   pre:
     - sudo apt-get install autoconf2.59
     - cd $HOME/bin && ln -s /usr/bin/autoconf2.59 autoconf
     - cd $HOME/bin && ln -s /usr/bin/autoheader2.59 autoheader
+    - make ci-prepare:
+        timeout: 3600
 
 test:
   override:

+ 5 - 3
erlang.mk

@@ -16,7 +16,7 @@
 
 ERLANG_MK_FILENAME := $(realpath $(lastword $(MAKEFILE_LIST)))
 
-ERLANG_MK_VERSION = 1.2.0-631-g56cbd9e-dirty
+ERLANG_MK_VERSION = 1.2.0-632-g26ea355-dirty
 
 # Core configuration.
 
@@ -5365,7 +5365,9 @@ CI_OTP ?=
 ifeq ($(strip $(CI_OTP)),)
 ci::
 else
-ci:: $(KERL) $(addprefix ci-,$(CI_OTP))
+ci:: $(addprefix ci-,$(CI_OTP))
+
+ci-prepare: $(addprefix $(CI_INSTALL_DIR)/,$(CI_OTP))
 
 ci-setup::
 
@@ -5384,7 +5386,7 @@ endef
 $(foreach otp,$(CI_OTP),$(eval $(call ci_target,$(otp))))
 
 define ci_otp_target
-$(CI_INSTALL_DIR)/$(1):
+$(CI_INSTALL_DIR)/$(1): $(KERL)
 	$(KERL) build git $(OTP_GIT) $(1) $(1)
 	$(KERL) install $(1) $(CI_INSTALL_DIR)/$(1)
 endef