Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Release

on:
push:
tags:
- '[0-9]*'

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6

- name: Setup Java
uses: actions/setup-java@v5
with:
java-version: '17'
distribution: 'corretto'

- name: Install clojure tools
uses: DeLaGuardo/setup-clojure@13.6.0
with:
cli: 1.12.5.1645

- name: Cache clojure dependencies
uses: actions/cache@v5
with:
path: |
~/.m2/repository
~/.gitlibs
~/.deps.clj
key: cljdeps-${{ hashFiles('deps.edn') }}

- name: Deploy to Clojars
env:
CLOJARS_USERNAME: ${{ secrets.CLOJARS_USERNAME }}
CLOJARS_PASSWORD: ${{ secrets.CLOJARS_PASSWORD }}
run: clojure -T:build deploy :version '"${{ github.ref_name }}"'
35 changes: 20 additions & 15 deletions build.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,43 @@

(ns build
(:require [clojure.tools.build.api :as build]
[clojure.string :as string]
[net.lewisship.build :as b]))

(def lib 'io.github.hlship/cli-tools)
(def version (-> "version.txt"
slurp
string/trim))

(def jar-params {:project-name lib
:version version
:aliases [:pom]})
(defn- resolve-version
"Version comes from :version, or the exact git tag on HEAD."
[{:keys [version]}]
(or version
(build/git-process {:git-args ["describe" "--tags" "--exact-match"]})
(throw (ex-info "No version: pass :version or check out a tagged commit" {}))))

(defn- jar-params
[params]
{:project-name lib
:version (resolve-version params)
:aliases [:pom]})

(defn clean
[_params]
(build/delete {:path "target"}))

(defn jar
[_params]
(b/create-jar jar-params))
[params]
(b/create-jar (jar-params params)))

(defn install
[_]
(b/install-jar (jar jar-params)))
[params]
(b/install-jar (jar params)))

(defn deploy
[_params]
[params]
(clean nil)
(-> jar-params
(-> (jar-params params)
b/create-jar
(assoc :sign-artifacts? false)
b/deploy-jar))

(defn codox
[_params]
(b/generate-codox jar-params))
[params]
(b/generate-codox (jar-params params)))
1 change: 0 additions & 1 deletion version.txt

This file was deleted.