Skip to content

Commit fa9998f

Browse files
committed
Test against multiple versions of Clojure/ClojureScript
1 parent 2bf9268 commit fa9998f

File tree

7 files changed

+58
-66
lines changed

7 files changed

+58
-66
lines changed

.travis.yml

+13-6
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,25 @@ lein: 2.8.3
44
cache:
55
directories:
66
- $HOME/.m2
7-
- /usr/local
8-
install:
9-
- sudo ./scripts/install-ci-deps /usr/local
10-
- lumo --version
117
script:
12-
- ./scripts/test-jvm
13-
- ./scripts/test-lumo
8+
- make $TARGET
9+
env:
10+
matrix:
11+
- CLOJURE_VERSION=1.8 TARGET='test-jvm'
12+
- CLOJURE_VERSION=1.9 TARGET='test-jvm'
13+
- CLOJURE_VERSION=1.10 TARGET='test-jvm'
14+
- CLOJURE_VERSION=master TARGET='test-jvm'
1415
jdk:
1516
- openjdk8
1617
- openjdk11
1718
- openjdk-ea
19+
jobs:
20+
include:
21+
- stage: test
22+
jdk: openjdk11
23+
env: TARGET='test-lumo'
1824
matrix:
1925
fast_finish: true
2026
allow_failures:
2127
- jdk: openjdk-ea
28+
- env: CLOJURE_VERSION=master TARGET='test-jvm'

Makefile

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
.PHONY: test-jvm install-lumo test-lumo repl-lumo
2+
3+
CLOJURE_VERSION ?= 1.9
4+
5+
test-jvm :
6+
lein with-profile +$(CLOJURE_VERSION),+jvm test
7+
8+
install-lumo :
9+
npm list -g lumo-cljs || npm install -g lumo-cljs
10+
lumo --version
11+
12+
LUMO_CLASSPATH = $(shell lein with-profile +lumo,+test classpath)
13+
14+
test-lumo : install-lumo
15+
lumo -sf -c $(LUMO_CLASSPATH) -m cljs-tooling.test-runner
16+
17+
repl-lumo : install-lumo
18+
lumo -sfK -c $(LUMO_CLASSPATH) -n 5044

project.clj

+27-15
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,36 @@
44
:license {:name "Eclipse Public License"
55
:url "http://www.eclipse.org/legal/epl-v10.html"}
66
:scm {:name "git" :url "https://github.com/clojure-emacs/cljs-tooling"}
7-
:dependencies []
8-
:global-vars {*assert* false}
97

108
:deploy-repositories [["clojars" {:url "https://clojars.org/repo"
119
:username :env/clojars_username
1210
:password :env/clojars_password
1311
:sign-releases false}]]
1412

15-
:profiles {:dev {:dependencies [[org.clojure/clojure "1.9.0" :scope "test"]
16-
[org.clojure/clojurescript "1.10.439" :scope "test"]
17-
[org.clojure/core.async "0.4.474" :scope "test"]
18-
;; mount is self-host compatible so better for testing
19-
[mount "0.1.13" :scope "test"]]
20-
:resource-paths ["test-resources"]
21-
:global-vars {*assert* true}}
22-
:self-host {:resource-paths ["src" "test" "test-resources"]
23-
:exclusions [org.clojure/clojure org.clojure/clojurescript]
24-
:dependencies [[andare "0.9.0" :scope "test"]
25-
;; mount is self-host compatible so better for testing
26-
[mount "0.1.13" :scope "test"]]
27-
:global-vars {*assert* true}}})
13+
:profiles {:provided [:1.8]
14+
15+
:dev {:global-vars {*assert* true}}
16+
17+
;; TODO: remove all test-time dependencies
18+
:test {:dependencies [[mount "0.1.15"]]
19+
:resource-paths ["test-resources"]}
20+
21+
:1.8 {:dependencies [[org.clojure/clojure "1.8.0"]
22+
[org.clojure/clojurescript "1.8.51"]
23+
[javax.xml.bind/jaxb-api "2.3.1"]]}
24+
25+
:1.9 {:dependencies [[org.clojure/clojure "1.9.0"]
26+
[org.clojure/clojurescript "1.9.946"]
27+
[javax.xml.bind/jaxb-api "2.3.1"]]}
28+
29+
:1.10 {:dependencies [[org.clojure/clojure "1.10.0"]
30+
[org.clojure/clojurescript "1.10.63"]]}
31+
32+
:master {:repositories [["snapshots" "https://oss.sonatype.org/content/repositories/snapshots"]]
33+
:dependencies [[org.clojure/clojure "1.11.0-master-SNAPSHOT"]
34+
[org.clojure/clojurescript "1.10.439"]]}
35+
36+
:jvm {:dependencies [[org.clojure/core.async "0.4.490"]]}
37+
38+
:lumo {:dependencies [[andare "0.10.0"]]
39+
:exclusions [org.clojure/clojure org.clojure/clojurescript]}})

scripts/install-ci-deps

-24
This file was deleted.

scripts/repl-lumo

-9
This file was deleted.

scripts/test-jvm

-5
This file was deleted.

scripts/test-lumo

-7
This file was deleted.

0 commit comments

Comments
 (0)