File tree Expand file tree Collapse file tree
src/practitest_firecracker Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11(ns build
22 (:require
3+ [clojure.java.io :as io]
34 [clojure.tools.build.api :as b]))
45
56(def lib 'practitest /practitest-firecracker )
6- (def version (format " 2.2.%s" (b/git-count-revs nil )))
7+
8+ ; Create new tag v<Major>.<Minor> when starting working on new major/minor version branch
9+ (def major-version 2 )
10+ (def minor-version 2 )
11+
12+ (def commits-count (b/git-process {:git-args (format " rev-list v%s.%s..HEAD --count" major-version minor-version)}))
13+ (def version (format " %s.%s.%s" major-version minor-version commits-count))
714(def class-dir " target/classes" )
815(def uber-file (format " target/%s-%s-standalone.jar" (name lib) version))
916
1017; ; delay to defer side effects (artifact downloads)
1118(def basis (delay (b/create-basis {:project " deps.edn" })))
1219
1320(defn clean [_]
21+ (println " Cleaning directories" )
1422 (b/delete {:path " target" }))
1523
1624(defn uber [_]
25+ (println " Building uberjar for" version)
1726 (clean nil )
1827 (b/copy-dir {:src-dirs [" src" ]
1928 :target-dir class-dir})
2029 (b/copy-dir {:src-dirs [" resources" ]
2130 :target-dir class-dir})
31+ (println " Compiling clojure code" )
2232 (b/compile-clj {:basis @basis
2333 :ns-compile '[practitest-firecracker.core]
2434 :class-dir class-dir})
35+ (println " Packing JAR file" )
36+ (spit (io/file class-dir " practitest_firecracker" " firecracker_version.txt" )
37+ version)
2538 (b/uber {:class-dir class-dir
2639 :uber-file uber-file
2740 :basis @basis
41+ :manifest {" Implementation-Version" version}
2842 :main 'practitest-firecracker.core}))
Original file line number Diff line number Diff line change 55 [throttler.core :refer [fn-throttler]]
66 [clojure.tools.logging :as log]
77 [practitest-firecracker.const :refer :all ]
8- [practitest-firecracker.utils :refer [exit group-errors pformat transform-keys]]))
8+ [practitest-firecracker.utils :refer [exit group-errors pformat transform-keys get-current-version ]]))
99
1010(def backoff-timeout " Backoff timeout in seconds" 20 )
1111(def max-attempts " Number of attempts to run" 10 )
3030 params (cond-> {:basic-auth credentials
3131 :throw-exceptions false
3232 :as :json }
33- query-params (assoc :query-params (conj query-params {:source " firecracker" :firecracker-version fc- version}))
34- form-params (assoc :form-params (conj form-params {:source " firecracker" :firecracker-version fc- version}) :content-type :json ))]
33+ query-params (assoc :query-params (conj query-params {:source " firecracker" :firecracker-version ( get-current- version) }))
34+ form-params (assoc :form-params (conj form-params {:source " firecracker" :firecracker-version ( get-current- version) }) :content-type :json ))]
3535 (if (nil? uri)
3636 results
3737 (let [{:keys [status body]} (method uri params)]
Original file line number Diff line number Diff line change 11(ns practitest-firecracker.const )
22
3- (def ^:const fc-version " 2.2.1" )
4-
53(def ^:const testset-instances-uri " /projects/%d/instances.json" )
64(def ^:const test-uri " /projects/%d/tests/%d.json" )
75(def ^:const test-steps-uri " /projects/%d/steps.json" )
Original file line number Diff line number Diff line change 1010 [practitest-firecracker.parser.core :refer [send-directory parse-files]]
1111 [practitest-firecracker.parser.gherkin :as gherkin]
1212 [practitest-firecracker.api :refer [make-client]]
13- [practitest-firecracker.utils :refer [exit]]
13+ [practitest-firecracker.utils :refer [exit get-current-version ]]
1414 [clojure.pprint :as pprint]
1515 [clojure.java.io :as io]
1616 [clj-time.core :as t]
17- [clojure.tools.logging :as log]
18- [practitest-firecracker.const :refer [fc-version]])
17+ [clojure.tools.logging :as log])
1918 (:import (org.slf4j LoggerFactory)
2019 (ch.qos.logback.classic Level Logger))
2120 (:gen-class ))
7473 (pprint/pprint {" =============== args: ===============" args}))
7574
7675 " version"
77- (log/info " Version: " fc- version)
76+ (log/info " Version:" ( get-current- version) )
7877
7978 " create-and-populate-testset"
8079 (do
81- (log/info " Start Running Firecracker, Version: " fc- version)
80+ (log/info " Start Running Firecracker, Version: " ( get-current- version) )
8281 (timef
8382 " create-and-populate-testset"
8483 (-> (create-testsets client options additional-reports)
Original file line number Diff line number Diff line change 11(ns practitest-firecracker.utils
22 (:require
33 [clj-time.core :as t]
4+ [clojure.java.io :as io]
45 [clojure.pprint :as pprint]
56 [clojure.string :as string]
67 [cheshire.core :as json]))
5354 (assoc a (apply f k args) v))
5455 {}
5556 m)))
57+
58+ (defn- get-current-version* []
59+ (if-let [version-file (io/resource " practitest_firecracker/firecracker_version.txt" )]
60+ (slurp version-file)
61+ " 2.0-Devel" ))
62+
63+ (def get-current-version (memoize get-current-version*))
You can’t perform that action at this time.
0 commit comments