forked from JabRef/jabref
-
Notifications
You must be signed in to change notification settings - Fork 0
/
circle.yml
42 lines (36 loc) · 1.43 KB
/
circle.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
machine:
environment:
TERM: dumb
java:
version: oraclejdk8
dependencies:
pre:
- scripts/prepare-install4j.sh
- install4j6/bin/install4jc --verbose --license=$INSTALL4J_KEY
override:
# We do this to decrease build time by using CircleCI's cache. See https://discuss.circleci.com/t/effective-caching-for-gradle/540 for a longer motivation.
- ./gradlew getdeps
cache_directories:
- "~/.install4j6"
- "~/downloads"
test:
override:
- ./gradlew -Pdev=true -Pinstall4jDir="install4j6" release --stacktrace
deployment:
release:
# we only do a simple check for SemVer and do not use a sophisticated check as presented at https://github.com/sindresorhus/semver-regex/blob/master/index.js
tag: /v[0-9]+(\.[0-9]+)*(-.+)?/
commands:
# we have to do a clean build as changing gradle's "project.version" does not lead to a rebuild of resources (mirroring project.version)
- ./gradlew -Pinstall4jDir="install4j6" clean release --stacktrace
# upload at all circumstances
- scripts/upload-to-builds.jabref.org.sh
development:
# match all branches; this is executed, if "release" is not matched - see https://circleci.com/docs/configuration/
branch: /.*/
commands:
# if upload fails, it is accepted; CircleCI provides deep links to the binaries as fallback
- timeout 580 scripts/upload-to-builds.jabref.org.sh || exit 0
general:
artifacts:
- "build/releases"