This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-01-05
Channels
- # announcements (2)
- # beginners (44)
- # calva (7)
- # cider (8)
- # cljs-dev (2)
- # clojure (131)
- # clojure-serbia (2)
- # clojure-spec (3)
- # clojure-uk (56)
- # clojurescript (27)
- # cursive (7)
- # datomic (6)
- # fulcro (25)
- # jobs (3)
- # klipse (3)
- # leiningen (2)
- # off-topic (8)
- # overtone (2)
- # pathom (2)
- # portkey (2)
- # re-frame (2)
- # reagent (10)
- # shadow-cljs (44)
- # spacemacs (1)
- # tools-deps (6)
- # uncomplicate (2)
I’m trying to get CI tests working, followed the instructions in the manual but about 50% of the time my CI fails with this message
#!/bin/bash -eo pipefail
npx karma start --single-run
05 01 2019 20:23:40.760:WARN [watcher]: Pattern "/home/circleci/project/target/ci.js" does not match any file.
05 01 2019 20:23:40.766:INFO [karma-server]: Karma v3.1.4 server started at
05 01 2019 20:23:40.766:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited
05 01 2019 20:23:40.770:INFO [launcher]: Starting browser ChromeHeadless
05 01 2019 20:23:41.059:INFO [HeadlessChrome 71.0.3578 (Linux 0.0.0)]: Connected on socket -fOAgM3QhFtvOxByAAAA with id 55473730
HeadlessChrome 71.0.3578 (Linux 0.0.0) ERROR
{
"message": "ReferenceError: shadow is not defined\n at eval (eval at <anonymous> (/home/circleci/project/node_modules/karma-cljs-test/adapter.js:6:7), <anonymous>:1:1)\n at ContextKarma.start (/home/circleci/project/node_modules/karma-cljs-test/adapter.js:6:7)\n at ContextKarma.loaded ()\n at ",
"str": "ReferenceError: shadow is not defined\n at eval (eval at <anonymous> (/home/circleci/project/node_modules/karma-cljs-test/adapter.js:6:7), <anonymous>:1:1)\n at ContextKarma.start (/home/circleci/project/node_modules/karma-cljs-test/adapter.js:6:7)\n at ContextKarma.loaded ()\n at "
}
Exited with code 1
anyone ever deal with that?
it runs fine locally
adding an ls
before the karma command shows that the expected file target/ci.js
is missing when the test fails
also i noticed on a successful run shadow-cljs compile ci-tests
prints [:ci-tests] Build completed.
whereas on an unsuccessful build it doesn print that, however both return exit code 0
Any idea why it would fail to finish compiling but not return an error?
I’m sort of guessing the package.json might have weird dependencies…some conflict that causes erratic resolution
unsuccessful builds should not exit with 0 but maybe the handling for that got messed up
I tried a difference ci image and it is working for now…goign to hit it a few more times and see if it fails. I confirm what @U09FEH8GN is seeing (we’re working on same project): it isn’t printing an error on build…just isn’t emitting code
@U05224H0W just FYI. On the failing cases it was showing this:
`
shadow-cljs - config: /home/circleci/project/shadow-cljs.edn cli version: 2.7.10 node: v10.15.0
shadow-cljs - starting via "clojure"
WARNING: requiring-resolve already refers to: #'clojure.core/requiring-resolve in namespace: datomic.common, being replaced by: #'datomic.common/requiring-resolve
NPM dependency "reakit" has installed version "0.15.13"
"^0.11.1" was required by jar:file:/home/circleci/.m2/repository/fulcrologic/fulcro-incubator/0.0.24/fulcro-incubator-0.0.24.jar!/deps.cljs
NPM dependency "react-icons" has installed version "3.2.2"
"^2.2.7" was required by jar:file:/home/circleci/.m2/repository/fulcrologic/fulcro-incubator/0.0.24/fulcro-incubator-0.0.24.jar!/deps.cljs
[:ci-tests] Compiling ...
added 104 packages from 62 contributors and audited 1976 packages in 2.047s
found 0 vulnerabilities
now the output includes the additional line:
[:ci-tests] Build completed. (949 files, 814 compiled, 0 warnings, 23.88s)
More info. The container did not fix it after all 😞. So, I ran compiler with -v in CI and it looks like it is just stopping mid-compile…here are the last few lines:
<- Cache write: ucv/lib/form_encoding.cljc (7 ms)
-> Compile CLJS: ucv/lib/uism_extensions.cljc
-> Compile CLJS: ucv/ui/alert_test.cljs
-> Compile CLJS: ucv/ui/order_flow/shared.cljs
<- Cache write: ucv/util.cljc (11 ms)
<- Compile CLJS: ucv/ui/order_flow/shared.cljs (10 ms)
seems like it gets stuck compiling. do you run multiple builds concurrently? (I removed that since it was causing problems, depends on which version you are running though)
where do those :jvm-opts
go? inside the build options along with stuff like :target
and :compiler-options
?
ah thanks
not sure if its actually the OOM killer but this was an issue with CI previously with very similar behaviour
seems plausible
it passed the first time
i’m going to run it a few more times
and we’re on the free tier
it’d be nice if the OOM killer was a little more transparent
so the build succeeded the second time too!
yeah I can't remember what it took to make that visible. it was logged somewhere obscure
worked the third time also
i think that was it