babashka/.circleci/script/publish_artifact.clj

36 lines
1.4 KiB
Clojure
Raw Normal View History

2020-03-29 11:05:27 +00:00
(require '[cheshire.core :refer [generate-string]]
2020-01-09 13:32:25 +00:00
'[clojure.java.io :as io]
2020-03-29 11:05:27 +00:00
'[clojure.java.shell :refer [sh]]
2020-01-09 13:32:25 +00:00
'[clojure.string :as str])
2020-01-07 15:38:54 +00:00
(def channel "#babashka_circleci_builds")
#_(def channel "#_test")
2020-01-09 13:32:25 +00:00
(def babashka-version (str/trim (slurp (io/file "resources" "BABASHKA_VERSION"))))
2020-03-29 11:05:27 +00:00
(def slack-hook-url (System/getenv "SLACK_HOOK_URL"))
2020-01-07 15:38:54 +00:00
2020-03-29 11:05:27 +00:00
(defn slack! [text]
(when slack-hook-url
(let [json (generate-string {:username "borkdude"
:channel channel
:text text})]
(sh "curl" "-X" "POST" "-H" "Content-Type: application/json" "-d" json slack-hook-url))))
2020-01-07 15:38:54 +00:00
2020-03-29 11:05:27 +00:00
(def release-text (format "[%s - %s@%s]: https://%s-201467090-gh.circle-artifacts.com/0/release/babashka-%s-%s-amd64.zip"
(System/getenv "BABASHKA_PLATFORM")
(System/getenv "CIRCLE_BRANCH")
(System/getenv "CIRCLE_SHA1")
(System/getenv "CIRCLE_BUILD_NUM")
babashka-version
(System/getenv "BABASHKA_PLATFORM")))
(slack! release-text)
(def binary-size-text
(format "[%s - %s@%s] binary size: %s"
(System/getenv "BABASHKA_PLATFORM")
(System/getenv "CIRCLE_BRANCH")
(System/getenv "CIRCLE_SHA1")
(slurp (io/file "/tmp/bb_size/size"))))
(slack! binary-size-text)