File: circle.yml

package info (click to toggle)
jabref 3.8.2+ds-14
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 18,484 kB
  • sloc: java: 114,177; xml: 3,985; sh: 291; python: 283; perl: 200; ruby: 22; makefile: 8
file content (49 lines) | stat: -rw-r--r-- 2,000 bytes parent folder | download | duplicates (2)
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
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
    - install4j6/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:
    - "~/.install4j6"
    - "~/downloads"

test:
  override:
    - ./gradlew -Pdev=true -Pinstall4jDir="install4j6" 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="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"