diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..85e406a4 --- /dev/null +++ b/.github/workflows/release.yml @@ -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 }}" diff --git a/doc/development.md b/doc/development.md index b70bace8..db95836e 100644 --- a/doc/development.md +++ b/doc/development.md @@ -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.