snapshot logic

This commit is contained in:
Sean Corfield 2021-09-22 18:48:05 -07:00
parent c6124eb8dd
commit fa820cfbdb
3 changed files with 98 additions and 30 deletions

81
.github/workflows/test-and-snapshot.yml vendored Normal file
View 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

View file

@ -1,31 +1,13 @@
name: Clojure CI
on: [push, pull_request]
on: [pull_request]
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:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '8', '14', '15', '16', '17' ]
java: [ '8', '11', '14', '15', '16', '17' ]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
@ -38,7 +20,7 @@ jobs:
with:
tools-deps: '1.10.3.986'
- name: Run Tests
run: clojure -T:build ci
run: clojure -T:build test
build-graalvm-old:
runs-on: ubuntu-latest
@ -58,7 +40,7 @@ jobs:
with:
tools-deps: '1.10.3.986'
- name: Run Tests
run: clojure -T:build ci
run: clojure -T:build test
build-graalvm-new:
runs-on: ubuntu-latest
@ -78,4 +60,4 @@ jobs:
with:
tools-deps: '1.10.3.986'
- name: Run Tests
run: clojure -T:build ci
run: clojure -T:build test

View file

@ -10,24 +10,29 @@
For more information, run:
clojure -A:deps -T:build help/doc"
(:refer-clojure :exclude [test])
(:require [clojure.tools.build.api :as b]
[org.corfield.build :as bb]))
(def lib 'com.github.seancorfield/next.jdbc)
(def version (format "1.2.%s" (b/git-count-revs nil)))
(def snapshot "1.2.999-SNAPSHOT")
(defn test "Run all the tests." [opts]
(reduce (fn [opts alias]
(bb/run-tests (assoc opts :aliases [alias])))
opts
[:1.10 :master])
opts)
(defn ci "Run the CI pipeline of tests (and build the JAR)." [opts]
(-> opts
(assoc :lib lib :version version)
(as-> opts
(reduce (fn [opts alias]
(bb/run-tests (assoc opts :aliases [alias])))
opts
[:1.10 :master]))
(assoc :lib lib :version (if (:snapshot opts) snapshot version))
(test)
(bb/clean)
(bb/jar)))
(defn deploy "Deploy the JAR to Clojars." [opts]
(-> opts
(assoc :lib lib :version version)
(assoc :lib lib :version (if (:snapshot opts) snapshot version))
(bb/deploy)))