File tree 5 files changed +30
-11
lines changed
src/practitest_firecracker 5 files changed +30
-11
lines changed Original file line number Diff line number Diff line change 1
1
(ns build
2
2
(:require
3
+ [clojure.java.io :as io]
3
4
[clojure.tools.build.api :as b]))
4
5
5
6
(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))
7
14
(def class-dir " target/classes" )
8
15
(def uber-file (format " target/%s-%s-standalone.jar" (name lib) version))
9
16
10
17
; ; delay to defer side effects (artifact downloads)
11
18
(def basis (delay (b/create-basis {:project " deps.edn" })))
12
19
13
20
(defn clean [_]
21
+ (println " Cleaning directories" )
14
22
(b/delete {:path " target" }))
15
23
16
24
(defn uber [_]
25
+ (println " Building uberjar for" version)
17
26
(clean nil )
18
27
(b/copy-dir {:src-dirs [" src" ]
19
28
:target-dir class-dir})
20
29
(b/copy-dir {:src-dirs [" resources" ]
21
30
:target-dir class-dir})
31
+ (println " Compiling clojure code" )
22
32
(b/compile-clj {:basis @basis
23
33
:ns-compile '[practitest-firecracker.core]
24
34
:class-dir class-dir})
35
+ (println " Packing JAR file" )
36
+ (spit (io/file class-dir " practitest_firecracker" " firecracker_version.txt" )
37
+ version)
25
38
(b/uber {:class-dir class-dir
26
39
:uber-file uber-file
27
40
:basis @basis
41
+ :manifest {" Implementation-Version" version}
28
42
:main 'practitest-firecracker.core}))
Original file line number Diff line number Diff line change 5
5
[throttler.core :refer [fn-throttler]]
6
6
[clojure.tools.logging :as log]
7
7
[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 ]]))
9
9
10
10
(def backoff-timeout " Backoff timeout in seconds" 20 )
11
11
(def max-attempts " Number of attempts to run" 10 )
30
30
params (cond-> {:basic-auth credentials
31
31
:throw-exceptions false
32
32
: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 ))]
35
35
(if (nil? uri)
36
36
results
37
37
(let [{:keys [status body]} (method uri params)]
Original file line number Diff line number Diff line change 1
1
(ns practitest-firecracker.const )
2
2
3
- (def ^:const fc-version " 2.2.1" )
4
-
5
3
(def ^:const testset-instances-uri " /projects/%d/instances.json" )
6
4
(def ^:const test-uri " /projects/%d/tests/%d.json" )
7
5
(def ^:const test-steps-uri " /projects/%d/steps.json" )
Original file line number Diff line number Diff line change 10
10
[practitest-firecracker.parser.core :refer [send-directory parse-files]]
11
11
[practitest-firecracker.parser.gherkin :as gherkin]
12
12
[practitest-firecracker.api :refer [make-client]]
13
- [practitest-firecracker.utils :refer [exit]]
13
+ [practitest-firecracker.utils :refer [exit get-current-version ]]
14
14
[clojure.pprint :as pprint]
15
15
[clojure.java.io :as io]
16
16
[clj-time.core :as t]
17
- [clojure.tools.logging :as log]
18
- [practitest-firecracker.const :refer [fc-version]])
17
+ [clojure.tools.logging :as log])
19
18
(:import (org.slf4j LoggerFactory)
20
19
(ch.qos.logback.classic Level Logger))
21
20
(:gen-class ))
74
73
(pprint/pprint {" =============== args: ===============" args}))
75
74
76
75
" version"
77
- (log/info " Version: " fc- version)
76
+ (log/info " Version:" ( get-current- version) )
78
77
79
78
" create-and-populate-testset"
80
79
(do
81
- (log/info " Start Running Firecracker, Version: " fc- version)
80
+ (log/info " Start Running Firecracker, Version: " ( get-current- version) )
82
81
(timef
83
82
" create-and-populate-testset"
84
83
(-> (create-testsets client options additional-reports)
Original file line number Diff line number Diff line change 1
1
(ns practitest-firecracker.utils
2
2
(:require
3
3
[clj-time.core :as t]
4
+ [clojure.java.io :as io]
4
5
[clojure.pprint :as pprint]
5
6
[clojure.string :as string]
6
7
[cheshire.core :as json]))
53
54
(assoc a (apply f k args) v))
54
55
{}
55
56
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