Clojurians
#lumo
<
2018-01-27
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

richiardiandrea00:01:50

@darwin basically lumo has a boot task that does the packaging but the version can of course be read from an env var or a parameter to the task

richiardiandrea00:01:15

so how does the canary works? you can point me to some doc if you don't have time to explain :wink:

mfikes02:01:45

@richiardiandrea I think there were roughly 4 things needed to set Planck up for Canary (Lumo would likely be similar). It also helps to understand that Canary would simply trigger additional Travis builds of Lumo, but those builds of Lumo would effectively built against HEAD of ClojureScript master. 1) Add a line to the .travis.yml to fetch the Canary-built ClojureScript JAR, like https://github.com/mfikes/planck/blob/master/.travis.yml#L18 2) Conditionally use this JAR if CANARY_CLOJURESCRIPT_VERSION is set. Planck does this here using deps.edn https://github.com/mfikes/planck/blob/master/planck-cljs/script/build#L17, but it used to it this way with lein https://github.com/mfikes/planck/commit/8031e8dda3622893b1834ab33bffef36d6e869bf#diff-a509fc2cf6b205258ab072253251d029L1 3) Add a ^:task to the Canary source repo. Planck's is here (probably more complicated than normal): https://github.com/cljs-oss/canary/blob/master/runner/src/canary/projects/mfikes.clj#L4 4) Deal with setting up a CANARY_LUMO_TRAVIS_TOKEN (I'd follow the docs)

richiardiandrea02:01:07

@mfikes awesome explanation thanks, it all seems easy to achieve

mfikes02:01:50

Yeah, it can definitely be rough around the edges so don't hesitate to ask