snapshot logic
This commit is contained in:
parent
c6124eb8dd
commit
fa820cfbdb
3 changed files with 98 additions and 30 deletions
81
.github/workflows/test-and-snapshot.yml
vendored
Normal file
81
.github/workflows/test-and-snapshot.yml
vendored
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
name: Clojure CI
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: '0'
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: '11'
|
||||||
|
cache: 'maven'
|
||||||
|
- name: Setup Clojure
|
||||||
|
uses: DeLaGuardo/setup-clojure@master
|
||||||
|
with:
|
||||||
|
tools-deps: '1.10.3.986'
|
||||||
|
- name: Run Tests
|
||||||
|
run: clojure -T:build ci :snapshot true
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
java: [ '8', '14', '15', '16', '17' ]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-java@v2
|
||||||
|
with:
|
||||||
|
distribution: 'adopt'
|
||||||
|
java-version: ${{ matrix.java }}
|
||||||
|
cache: 'maven'
|
||||||
|
- name: Setup Clojure
|
||||||
|
uses: DeLaGuardo/setup-clojure@master
|
||||||
|
with:
|
||||||
|
tools-deps: '1.10.3.986'
|
||||||
|
- name: Run Tests
|
||||||
|
run: clojure -T:build test
|
||||||
|
|
||||||
|
build-graalvm-old:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
graalvm: [ '19.3.6', '20.3.2' ]
|
||||||
|
base: [ 'java8', 'java11' ]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup GraalVM
|
||||||
|
uses: DeLaGuardo/setup-graalvm@4.0
|
||||||
|
with:
|
||||||
|
graalvm: ${{ matrix.graalvm }}
|
||||||
|
java: ${{ matrix.base }}
|
||||||
|
- name: Setup Clojure
|
||||||
|
uses: DeLaGuardo/setup-clojure@master
|
||||||
|
with:
|
||||||
|
tools-deps: '1.10.3.986'
|
||||||
|
- name: Run Tests
|
||||||
|
run: clojure -T:build test
|
||||||
|
|
||||||
|
build-graalvm-new:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
graalvm: [ '21.1.0' ]
|
||||||
|
base: [ 'java11', 'java16' ]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup GraalVM
|
||||||
|
uses: DeLaGuardo/setup-graalvm@4.0
|
||||||
|
with:
|
||||||
|
graalvm: ${{ matrix.graalvm }}
|
||||||
|
java: ${{ matrix.base }}
|
||||||
|
- name: Setup Clojure
|
||||||
|
uses: DeLaGuardo/setup-clojure@master
|
||||||
|
with:
|
||||||
|
tools-deps: '1.10.3.986'
|
||||||
|
- name: Run Tests
|
||||||
|
run: clojure -T:build test
|
||||||
28
.github/workflows/test.yml
vendored
28
.github/workflows/test.yml
vendored
|
|
@ -1,31 +1,13 @@
|
||||||
name: Clojure CI
|
name: Clojure CI
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-release:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: '0'
|
|
||||||
- uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: 'adopt'
|
|
||||||
java-version: '11'
|
|
||||||
cache: 'maven'
|
|
||||||
- name: Setup Clojure
|
|
||||||
uses: DeLaGuardo/setup-clojure@master
|
|
||||||
with:
|
|
||||||
tools-deps: '1.10.3.986'
|
|
||||||
- name: Run Tests
|
|
||||||
run: clojure -T:build ci
|
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
java: [ '8', '14', '15', '16', '17' ]
|
java: [ '8', '11', '14', '15', '16', '17' ]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/setup-java@v2
|
- uses: actions/setup-java@v2
|
||||||
|
|
@ -38,7 +20,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
tools-deps: '1.10.3.986'
|
tools-deps: '1.10.3.986'
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: clojure -T:build ci
|
run: clojure -T:build test
|
||||||
|
|
||||||
build-graalvm-old:
|
build-graalvm-old:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -58,7 +40,7 @@ jobs:
|
||||||
with:
|
with:
|
||||||
tools-deps: '1.10.3.986'
|
tools-deps: '1.10.3.986'
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: clojure -T:build ci
|
run: clojure -T:build test
|
||||||
|
|
||||||
build-graalvm-new:
|
build-graalvm-new:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
@ -78,4 +60,4 @@ jobs:
|
||||||
with:
|
with:
|
||||||
tools-deps: '1.10.3.986'
|
tools-deps: '1.10.3.986'
|
||||||
- name: Run Tests
|
- name: Run Tests
|
||||||
run: clojure -T:build ci
|
run: clojure -T:build test
|
||||||
|
|
|
||||||
17
build.clj
17
build.clj
|
|
@ -10,24 +10,29 @@
|
||||||
For more information, run:
|
For more information, run:
|
||||||
|
|
||||||
clojure -A:deps -T:build help/doc"
|
clojure -A:deps -T:build help/doc"
|
||||||
|
(:refer-clojure :exclude [test])
|
||||||
(:require [clojure.tools.build.api :as b]
|
(:require [clojure.tools.build.api :as b]
|
||||||
[org.corfield.build :as bb]))
|
[org.corfield.build :as bb]))
|
||||||
|
|
||||||
(def lib 'com.github.seancorfield/next.jdbc)
|
(def lib 'com.github.seancorfield/next.jdbc)
|
||||||
(def version (format "1.2.%s" (b/git-count-revs nil)))
|
(def version (format "1.2.%s" (b/git-count-revs nil)))
|
||||||
|
(def snapshot "1.2.999-SNAPSHOT")
|
||||||
|
|
||||||
(defn ci "Run the CI pipeline of tests (and build the JAR)." [opts]
|
(defn test "Run all the tests." [opts]
|
||||||
(-> opts
|
|
||||||
(assoc :lib lib :version version)
|
|
||||||
(as-> opts
|
|
||||||
(reduce (fn [opts alias]
|
(reduce (fn [opts alias]
|
||||||
(bb/run-tests (assoc opts :aliases [alias])))
|
(bb/run-tests (assoc opts :aliases [alias])))
|
||||||
opts
|
opts
|
||||||
[:1.10 :master]))
|
[:1.10 :master])
|
||||||
|
opts)
|
||||||
|
|
||||||
|
(defn ci "Run the CI pipeline of tests (and build the JAR)." [opts]
|
||||||
|
(-> opts
|
||||||
|
(assoc :lib lib :version (if (:snapshot opts) snapshot version))
|
||||||
|
(test)
|
||||||
(bb/clean)
|
(bb/clean)
|
||||||
(bb/jar)))
|
(bb/jar)))
|
||||||
|
|
||||||
(defn deploy "Deploy the JAR to Clojars." [opts]
|
(defn deploy "Deploy the JAR to Clojars." [opts]
|
||||||
(-> opts
|
(-> opts
|
||||||
(assoc :lib lib :version version)
|
(assoc :lib lib :version (if (:snapshot opts) snapshot version))
|
||||||
(bb/deploy)))
|
(bb/deploy)))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue