689c6a6950
Fixes #73 Now the latest version of PlantUML is downloaded as part of the CI script. This has two consequences: we always test against the latest and greatest PlantUML version. PlantUML evolves at a much higher pace than plantuml-mode. This allows for some sanity check of our code with the upstream project. builds are not reproducible As a side effect of always downloading a (potentially) new PlantUML version, re-running the build for an old commit can lead to different outcomes. This is usually a big no-no but given the limited efforts currently spent on plantuml-mode I find it more convenient to immediately raise a flag if a new version of PlantUML causes issues.
56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
version: 2.0
|
|
|
|
# Default actions to perform on each Emacs version
|
|
default: &default-steps
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
# Note: this makes it hard to reproduce builds but easier to spot incompatibilities with
|
|
# newer PlantUML releases. Current trade off seems acceptable.
|
|
name: Download the latest PlantUML release
|
|
command: sh ./bin/download-plantuml.sh
|
|
- run:
|
|
name: Update APT packages
|
|
command: apt-get update
|
|
- run:
|
|
name: Install prerequisites
|
|
command: apt-get install -y openjdk-8-jre make python git
|
|
- run:
|
|
name: Install cask
|
|
command: curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python
|
|
- run:
|
|
name: Make Cask available on the path
|
|
command: echo 'export PATH="/root/.cask/bin:$PATH"' >> $BASH_ENV
|
|
- run:
|
|
name: Run the tests
|
|
command: make
|
|
|
|
# Enumerated list of Emacs versions
|
|
jobs:
|
|
test-emacs-25:
|
|
docker:
|
|
- image: silex/emacs:25
|
|
entrypoint: bash
|
|
<<: *default-steps
|
|
|
|
test-emacs-26:
|
|
docker:
|
|
- image: silex/emacs:26.0
|
|
entrypoint: bash
|
|
<<: *default-steps
|
|
|
|
test-emacs-master:
|
|
docker:
|
|
- image: silex/emacs:master
|
|
entrypoint: bash
|
|
<<: *default-steps
|
|
|
|
# Executing in parallel
|
|
workflows:
|
|
version: 2
|
|
ci-test-matrix:
|
|
jobs:
|
|
- test-emacs-25
|
|
- test-emacs-26
|
|
# Testing against master currently hangs on CircleCI
|
|
#- test-emacs-master
|