|
15 | 15 | (when (= "ubuntu" os) "--launch-virtual-display")]
|
16 | 16 | (remove nil?)
|
17 | 17 | (string/join " "))
|
| 18 | + :needs (case id |
| 19 | + "unit" |
| 20 | + ["chrome" "firefox"] |
| 21 | + |
| 22 | + "api" |
| 23 | + (conj ["imagemagick"] browser) |
| 24 | + |
| 25 | + "ide" |
| 26 | + [browser]) |
18 | 27 | :desc (->> [id os browser (if (= "jvm" platform)
|
19 | 28 | (str "jdk" jdk-version)
|
20 | 29 | platform)]
|
|
27 | 36 | :cmd (if (= "ubuntu" os)
|
28 | 37 | "bb test-doc --launch-virtual-display"
|
29 | 38 | "bb test-doc")
|
| 39 | + :needs ["chrome" "firefox"] |
30 | 40 | :desc (str "test-doc " os " jdk" jdk-version)} )
|
31 | 41 |
|
32 | 42 | (defn- github-actions-matrix []
|
33 |
| - (let [oses ["macos" "ubuntu" "windows"] |
| 43 | + (let [os-jdks {"ubuntu" ["8" "11" "17" "21"] |
| 44 | + ;; macOS on GitHub Actions is now arm-based and does not include jdk8 |
| 45 | + "macos" ["11" "17" "21"] |
| 46 | + "windows" ["8" "11" "17" "21"]} |
| 47 | + oses (keys os-jdks) |
34 | 48 | ide-browsers ["chrome" "firefox"]
|
35 | 49 | api-browsers ["chrome" "firefox" "edge" "safari"]
|
36 | 50 | platforms ["jvm" "bb"]
|
37 |
| - jdk-versions ["8" "11" "17" "21"] |
38 | 51 | default-opts {:jdk-version "21"}]
|
39 | 52 | (->> (concat
|
40 | 53 | (for [os oses
|
|
43 | 56 | (for [os oses
|
44 | 57 | platform platforms
|
45 | 58 | browser ide-browsers]
|
46 |
| - (test-def (merge default-opts {:os os :id "ide" :platform platform :browser browser}))) |
| 59 | + (test-def (merge default-opts |
| 60 | + {:os os :id "ide" :platform platform :browser browser}))) |
47 | 61 | (for [os oses
|
48 | 62 | platform platforms
|
49 | 63 | browser api-browsers
|
|
52 | 66 | (test-def (merge default-opts {:os os :id "api" :platform platform :browser browser})))
|
53 | 67 | ;; for jdk coverage we don't need to run across all oses and browsers
|
54 | 68 | (for [id ["unit" "ide" "api"]
|
55 |
| - jdk-version jdk-versions |
| 69 | + jdk-version (get os-jdks "ubuntu") |
56 | 70 | :when (not= jdk-version (:jdk-version default-opts))]
|
57 |
| - (test-def {:jdk-version jdk-version :os "ubuntu" :id id :platform "jvm" :browser "firefox"})) |
| 71 | + (test-def {:jdk-version jdk-version :os "ubuntu" :id id |
| 72 | + :platform "jvm" |
| 73 | + :browser (when (not= "unit" id) "firefox")})) |
58 | 74 | (for [os oses]
|
59 | 75 | (test-doc (merge default-opts {:os os})))
|
60 |
| - (for [jdk-version jdk-versions |
| 76 | + (for [jdk-version (get os-jdks "ubuntu") |
61 | 77 | :when (not= jdk-version (:jdk-version default-opts))]
|
62 | 78 | (test-doc {:jdk-version jdk-version :os "ubuntu"})))
|
63 | 79 | (sort-by (juxt #(parse-long (:jdk-version %)) :desc))
|
|
91 | 107 | (status/line :detail
|
92 | 108 | (if (= "json" (:format opts))
|
93 | 109 | (json/generate-string matrix)
|
94 |
| - (doric/table [:os :jdk-version :cmd :desc] matrix))))))) |
| 110 | + (doric/table [:os :jdk-version :cmd :needs :desc] matrix))))))) |
95 | 111 |
|
96 | 112 | (main/when-invoked-as-script
|
97 | 113 | (apply -main *command-line-args*))
|
0 commit comments