-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add automated build/deploy on CI #33
Comments
This is something I intend to do at some point, but I feel like I only recently got all my projects using the clojure cli, and now it's all deprecated (but works just fine). As far as |
I've been using github actions, so I do prefer github actions over Circle CI. |
Yeah I suppose you are right because tools.build is programmatic and not declarative.
FWIW, Sean has come up with a convenient wrapper for tools.build but I've not personally seen the need for it yet. But... usage of tools.build is not mandatory. And I could lend a hand if that's of interest. |
The wrapper looks pretty straightforward. I'll check it out! Also, the main issue is that git url is wrong in the pom.xml, right? |
I started a branch to fix the pom if that's one of the main issues, #35. I am still interested in implementing some of the other suggestions you have. It would be nice to have it integrated with CI as well as automatically do some of the bookkeeping you mentioned. |
For cljdoc & clojars? Yup! The |
Proposal
For consistent builds/releases automate the process on CI
Benefits
scm
info inpom.xml
will be correct for clojars and cljdocMechanics
I like the slipset strategy which I think borkdude has also adopted.
Here's how it works for graal-build-time:
A new release is cut via a
publish
task which runs the following locally:On CI, for each commit a
deploy
task is run whichAt first, this seemed rather unrefined to me, as we are attempting a deploy to clojars when we have no intention of really doing so, but this will fail by design when clojars already has version x of our lib.
I love the simplicity of this approach, but still might not be able to avoid the temptation of refining slightly to not attempt a deploy when clojars already has version x of our lib.
Alternatives
For my projects, I initiate a release via a button on a GitHub Actions release flow.
I think the slipset/borkdude strategy is maybe simpler (maybe mine is easier?).
Implementation Details
I seem to be using GitHub Actions these days more than CircleCI, but would defer to your preference.
This change would include moving from the deprecated depstar to clojure tools build.
I'd also bring in babashka for build tasks.
The text was updated successfully, but these errors were encountered: