Q: I’m trying to speed up my CI. the native:conf step takes quite a long time to download my clojure deps so I’m trying to cache them. I’ve added a deps.edn cache config (bitbucket CI) but the deps are still downloaded. Is this because the conf step is run inside Docker?
Is there a way to have the Docker container use the cached deps from the outer CI task?
Hmm, now I’m trying a different solution. Following the docs and setting HL_NO_DOCKER in CI. If I can make this work then the prev question of cached deps doesn’t matter. I think I prefer this as a fix
but my HL bb tasks are still trying to use docker. I’m using this as the base for my docker container…
FROM
has anyone else got HL_NO_DOCKER working in CI?
Oh. It might be a regression in the tasks. I will try to take a look tomorrow.
ok thanks. much appreciated
tasks.clj L312, we should also check if HL_NO_DOCKER is set to skip the download. PR welcome ;>
good to know. I’ve got to focus on a prod release for the next day or so. I’ll create PR after that if not done
Sure. Today I’m out of home, so I will try to make a change tomorrow! All the best to you!
thanks. you know the fun of prod deployments 🙂
@steveb8n you didn't update the tasks SHA.
of course, a silly mistake. I updated the deps.edn (out of habit) and forgot the bb.edn. my CI run is now twice as fast as last week. thanks!
Oh yes, I do know how fun it is 😄 Here is the fix: df686cc87129e56a9a7b07c6c2e2168742eb1d45
prod release went well. cleaning up the last bits now. thanks for the fix
@karol.wojcik just tried it with fix but getting this result
+ bb hl:compile
Could not find /project/.holy-lambda/clojure-tools-1.10.3.1040.jar
Downloading tools jar from
Downloading: com/fasterxml/jackson/core/jackson-databind/2.13.0/jackson-databind-2.13.0.pom from central
Downloading: com/fasterxml/jackson/core/jackson-core/2.13.0/jackson-core-2.13.0.pom from central
Downloading: com/fasterxml/jackson/core/jackson-annotations/2.13.0/jackson-annotations-2.13.0.pom from central
Downloading: com/fasterxml/jackson/core/jackson-databind/2.13.0/jackson-databind-2.13.0.jar from central
Downloading: com/fasterxml/jackson/core/jackson-core/2.13.0/jackson-core-2.13.0.jar from central
Downloading: com/fasterxml/jackson/core/jackson-annotations/2.13.0/jackson-annotations-2.13.0.jar from central
Downloading: borkdude/rewrite-edn/0.0.2/rewrite-edn-0.0.2.pom from clojars
Downloading: rewrite-clj/rewrite-clj/1.0.572-alpha/rewrite-clj-1.0.572-alpha.pom from clojars
Downloading: org/clojure/tools.reader/1.3.5/tools.reader-1.3.5.pom from central
Downloading: rewrite-clj/rewrite-clj/1.0.572-alpha/rewrite-clj-1.0.572-alpha.jar from clojars
Downloading: org/clojure/tools.reader/1.3.5/tools.reader-1.3.5.jar from central
Downloading: borkdude/rewrite-edn/0.0.2/rewrite-edn-0.0.2.jar from clojars
[holy-lambda] Executable /root/.graalvm/bin/java does not exists! Using fallback: java instead! Did you set up GRAALVM_HOME?
[holy-lambda] Executable /root/.graalvm/bin/native-image does not exists! Using fallback: native-image instead! Did you set up GRAALVM_HOME?
----- Error --------------------------------------------------------------------
Type: java.io.IOException
Message: Cannot run program "docker": error=2, No such file or directory
Location: /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:182:16
----- Context ------------------------------------------------------------------
178: (:err result))))
179:
180: (defn shs-no-err
181: [cmd & args]
182: (let [result (apply csh/sh (remove nil? (into (p/tokenize cmd) args)))]
^--- Cannot run program "docker": error=2, No such file or directory
183: (if (s/blank? (:err result))
184: (when-not (s/blank? (:out result))
185: (:out result))
186: nil)))
187:
----- Stack trace --------------------------------------------------------------
clojure.core/apply - <built-in>
holy-lambda.tasks/shs-no-err - /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:182:16
holy-lambda.tasks/shs-no-err - /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:180:1
holy-lambda.tasks - /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:310:12
clojure.core/boolean - <built-in>
holy-lambda.tasks/docker-image-exists? - /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:310:3
holy-lambda.tasks/docker-image-exists? - /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:308:1
holy-lambda.tasks - /project/.holy-lambda/.gitlibs/libs/io.github.FieryCod/holy-lambda-babashka-tasks/1469bb96b85c2c65a52df9e3a4914dde1b4c816f/modules/holy-lambda-babashka-tasks/src/holy_lambda/tasks.clj:312:11
user-5e1b2b32-2c62-4fb2-9bc8-2c04a0d5286a - <expr>:5:47