forked from JabRef/jabref
-
Notifications
You must be signed in to change notification settings - Fork 0
/
circle.yml
51 lines (45 loc) · 2.06 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
43
44
45
46
47
48
49
50
51
machine:
environment:
TERM: dumb
java:
version: oraclejdk8
dependencies:
pre:
# update locally with:
# openssl aes-256-cbc -e -in ./buildres/jabref-cert-2016.p12 -out jabref-cert-2016.p12.enc -k {PASSWORD}
#- openssl aes-256-cbc -d -in ./buildres/jabref-cert-2016.p12.enc -out ./buildres/jabref-cert-2016.p12 -k $CERTIFICATE
- scripts/prepare-install4j.sh
- install4j7/bin/install4jc --verbose --license=$INSTALL4J_KEY
#--win-keystore-password $CERTIFICATE_PW --mac-keystore-password $CERTIFICATE_PW
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 compileJava
cache_directories:
- "~/.install4j7"
- "~/downloads"
test:
override:
- ./gradlew -Pdev=true -Pinstall4jDir="install4j7" release --stacktrace
post:
# save test reports as build artifacts
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
- find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
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="install4j7" clean release --stacktrace
# upload at all circumstances
- scripts/upload-to-builds.jabref.org.sh
- ./gradlew dependencyUpdates -Drevision=release -DoutputFormatter=json -DoutputDir=build/releases
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"