chore: automated release pipeline

This commit is contained in:
Joel Kaasinen 2025-10-24 15:45:29 +03:00
parent 5ff8ba2e3e
commit 6d9632e85e
2 changed files with 35 additions and 12 deletions

26
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,26 @@
name: Release
on:
release:
types:
- published # reacts to releases and prereleases, but not their drafts
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: "Setup Java"
uses: actions/setup-java@v5
with:
distribution: zulu
java-version: 11
- name: "Setup Clojure"
uses: DeLaGuardo/setup-clojure@master
with:
lein: 2.9.5
- name: Deploy to Clojars
run: ./scripts/lein-modules do clean, deploy clojars
env:
CLOJARS_USERNAME: metosinci
CLOJARS_PASSWORD: "${{ secrets.CLOJARS_DEPLOY_TOKEN }}"

View file

@ -40,25 +40,22 @@ We use [Break Versioning][breakver]. Remember our promise: patch-level bumps nev
[breakver]: https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md
```bash
# new version
# create a release commit
./scripts/set-version "1.0.0"
# create a release commit and a tag
# !!! update the changelog
git add -u
git commit -m "Release 1.0.0"
git tag 1.0.0
# works
./scripts/lein-modules install
lein test
# deploy to clojars
CLOJARS_USERNAME=*** CLOJARS_PASSWORD=*** ./scripts/lein-modules do clean, deploy clojars
# push the commit and the tag
# push the commit
git push
# !!! check that tests pass on CI
# Run automated release workflow by pushing a tag
git tag 1.0.0
git push --tags
```
* Remember to update the changelog!
* Announce the release at least on #reitit in Clojurians.