Skip to content

Commit

Permalink
Complete migration to Circle CI
Browse files Browse the repository at this point in the history
  • Loading branch information
ajoberstar committed Apr 9, 2018
1 parent 12b9b6d commit 518dbe9
Show file tree
Hide file tree
Showing 6 changed files with 279 additions and 38 deletions.
103 changes: 77 additions & 26 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,125 @@
###############################################################################
# Anchors for common settings
###############################################################################
defaults: &defaults
steps:
- checkout
- restore_cache:
keys:
- v1-gradle-{{ checksum "build.gradle" }}
- v1-gradle-
- v1-gradle-caches-{{ checksum "global.lock" }}
- attach_workspace:
at: '.'
- run:
name: Compile and test
command: ./gradlew clean check
- store_test_results:
path: build/test-results
when: always
command: ./gradlew clean check --continue
- save_cache:
paths:
- ~/.gradle
key: v1-gradle-{{ checksum "build.gradle" }}
- '~/.gradle/caches'
key: v1-gradle-caches-{{ checksum "global.lock" }}
- store_test_results:
path: '~/gradle-test-results'
when: always
branches-and-tags: &branches-and-tags
filters:
branches:
ignore: gh-pages
tags:
only: /^\d+\.\d+\.\d(?:-.+)?$/
only: /^\d+\.\d+\.\d+(?:-.+)?$/
tags-only: &tags-only
filters:
branches:
ignore: /.*/
tags:
only: /^\d+\.\d+\.\d(?:-.+)?$/
only: /^\d+\.\d+\.\d+(?:-.+)?$/

###############################################################################
# Jobs
###############################################################################
version: 2
jobs:
commit-java-lts:
update-dependencies:
docker:
- image: ajoberstar/circleci-openjdk-gradle:8-jdk
steps:
- checkout
- restore_cache:
keys:
- v1-gradle-caches-{{ checksum "global.lock" }}
- run:
name: Update locks
command: ./gradlew generateGlobalLock saveGlobalLock
- run:
name: Diff lock files
command: git --no-pager diff
- persist_to_workspace:
root: '.'
paths:
- 'global.lock'
- '.stutter/'
- '*/.stutter/'
- '*/*/.stutter/'
build-java-8:
<<: *defaults
docker:
- image: circleci/openjdk:8-jdk
commit-java-9:
- image: ajoberstar/circleci-openjdk-gradle:8-jdk
build-java-9:
<<: *defaults
docker:
- image: circleci/openjdk:9-jdk
commit-java-10:
- image: ajoberstar/circleci-openjdk-gradle:9-jdk
build-java-10:
<<: *defaults
docker:
- image: circleci/openjdk:10-jdk
- image: ajoberstar/circleci-openjdk-gradle:10-jdk
publish:
docker:
- image: circleci/openjdk:8-jdk
- image: ajoberstar/circleci-openjdk-gradle:8-jdk
steps:
- checkout
- restore_cache:
keys:
- v1-gradle-{{ checksum "build.gradle" }}
- v1-gradle-caches-{{ checksum "global.lock" }}
- run:
name: Publish Artifacts
command: ./gradlew publish
###############################################################################
# Workflows
###############################################################################
workflows:
version: 2
main:
jobs:
- commit-java-lts:
- build-java-8:
<<: *branches-and-tags
- commit-java-9:
- build-java-9:
<<: *branches-and-tags
requires:
- commit-java-lts
- commit-java-10:
- build-java-8
- build-java-10:
<<: *branches-and-tags
requires:
- commit-java-lts
- build-java-8
- publish:
<<: *tags-only
requires:
- commit-java-lts
- commit-java-9
- commit-java-10
- build-java-8
- build-java-9
- build-java-10
context: ajoberstar
nightly-deps:
triggers:
- schedule:
cron: "0 3 * * *"
filters:
branches:
only: master
jobs:
- update-dependencies
- build-java-8:
requires:
- update-dependencies
- build-java-9:
requires:
- build-java-8
- build-java-10:
requires:
- build-java-8
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# ike.cljj

[![CircleCI](https://circleci.com/gh/ajoberstar/ike.cljj.svg?style=svg)](https://circleci.com/gh/ajoberstar/ike.cljj)
[![GitHub license](https://img.shields.io/github/license/ajoberstar/ike.cljj.svg?style=flat-square)](https://github.com/ajoberstar/ike.cljj/blob/master/LICENSE)
[![Clojars](https://img.shields.io/clojars/v/org.ajoberstar/ike.cljj.svg?style=flat-square)](http://clojars.org/org.ajoberstar/ike.cljj)
[![CircleCI](https://circleci.com/gh/ajoberstar/ike.cljj.svg?style=svg)](https://circleci.com/gh/ajoberstar/ike.cljj)

## Why do you care?

Expand Down
11 changes: 3 additions & 8 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
plugins {
id 'org.ajoberstar.defaults' version '0.10.0'
id 'gradle-clojure.clojure' version '0.3.1'
id 'maven-publish'
id 'org.ajoberstar.grgit' version '2.1.1'
id 'org.ajoberstar.reckon' version '0.4.0'
// TODO remove when Gradle dependency locking is available
id 'nebula.dependency-lock' version '5.0.4'
}

group = 'org.ajoberstar'
Expand Down Expand Up @@ -40,9 +40,4 @@ publishing {
}
}
}
publications {
main(MavenPublication) {
from components.java
}
}
}
196 changes: 196 additions & 0 deletions global.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
{
"compile": {
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"compileClasspath": {
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"default": {
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"devCompile": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
},
"org.clojure:tools.namespace": {
"locked": "0.3.0-alpha4",
"requested": "0.3.0-alpha4"
},
"proto-repl:proto-repl": {
"locked": "0.2.1",
"requested": "latest.release"
}
},
"devCompileClasspath": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
},
"org.clojure:tools.namespace": {
"locked": "0.3.0-alpha4",
"requested": "0.3.0-alpha4"
},
"proto-repl:proto-repl": {
"locked": "0.2.1",
"requested": "latest.release"
}
},
"devRuntime": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
},
"org.clojure:tools.namespace": {
"locked": "0.3.0-alpha4",
"requested": "0.3.0-alpha4"
},
"proto-repl:proto-repl": {
"locked": "0.2.1",
"requested": "latest.release"
}
},
"devRuntimeClasspath": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
},
"org.clojure:tools.namespace": {
"locked": "0.3.0-alpha4",
"requested": "0.3.0-alpha4"
},
"proto-repl:proto-repl": {
"locked": "0.2.1",
"requested": "latest.release"
}
},
"runtime": {
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"runtimeClasspath": {
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"testCompile": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"testCompileClasspath": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"testRuntime": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
},
"testRuntimeClasspath": {
"junit:junit": {
"locked": "4.12",
"requested": "4.12"
},
"org.clojure:clojure": {
"locked": "1.9.0",
"requested": "1.9.0"
},
"org.clojure:tools.macro": {
"locked": "0.1.2",
"requested": "0.1.2"
}
}
}
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 2 additions & 2 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

0 comments on commit 518dbe9

Please sign in to comment.