@@ -77,6 +77,72 @@ You can also check for the presence of byte-compilation warnings in batch mode:
7777$ make test-bytecomp
7878```
7979
80+ #### Running the tests in Travis CI
81+
82+ If you prefer to see the full Travis test suite run successfully, the easiest
83+ way to achieve that is to create your own personal account on
84+ https://travis-ci.org . View your profile details on the Travis site, and toggle
85+ the switch to enable builds on your fork of the cider project.
86+
87+ Subsequent pushes to your fork will generate a Travis build you can monitor for
88+ success or failure.
89+
90+ #### Simulating the Travis tests locally in Docker
91+
92+ If you prefer not to wait for Travis all the time, or if you need to debug
93+ something that fails in Travis but does not fail for you on your own machine,
94+ then you can also run the Travis tests manually in Docker.
95+
96+ You will need to run some scripts to build and launch the Docker image.
97+
98+ To build:
99+ ```
100+ $ docker/build.sh
101+ ```
102+
103+ The build script uses a base image provided by the engineers at Travis. Note: the
104+ Travis docker image is currently more than 8GB, so be prepared with a good
105+ internet connection and time to spare.
106+
107+ The resulting docker image is tagged simply ` cider-travis ` . You can run this
108+ image by hand, but there is a convenience script available:
109+ ```
110+ $ docker/run.sh
111+ ```
112+
113+ This script launches a docker container and bind-mounts your cider project
114+ directory as ` /home/travis/cider ` such that you can instantly see any code
115+ changes reflected inside the docker environment.
116+
117+ For instance, you can run tests on emacs 25.3
118+ ```
119+ (emacs-25.3-travis) ~/cider$ make test
120+ ```
121+
122+ and then switch to emacs 26 and test again
123+
124+ ```
125+ (emacs-25.3-travis) ~/cider$ evm use emacs-26-pretest-travis
126+ (emacs-26-pretest-travis) ~/cider$ cask install
127+ (emacs-26-pretest-travis) ~/cider$ make test
128+ ```
129+
130+ You can test byte compilation too
131+ ```
132+ (emacs-26-pretest-travis) ~/cider$ make test-bytecomp
133+ ```
134+
135+ When you are done working in docker, just ` exit ` the bash prompt, and the docker
136+ container will also exit. Note that ` docker/run.sh ` runs the container with
137+ ` --rm ` , meaning any changes to the docker container are discarded when the
138+ container exits.
139+
140+ So for example, by default, the docker image pre-installs only the most recent
141+ releases of emacs 25, emacs 26, and a recent snapshot of the emacs git
142+ repository. The ` evm ` tool is available should you need to install some other
143+ specific build. However additional versions of emacs will be discarded when
144+ you exit the docker container.
145+
80146## Hacking on cider-nrepl
81147
82148### Obtaining the code
0 commit comments