bb publish
You are a maintainer of this project.
Is invoked from the command line via:
bb publish
To run validations without publishing, run bb pubcheck
|
To validate without pushing an actual release, use bb publish --no-push.
Output will instruct you on how to undo the git tag and commits.
|
To skip the confirmation prompt: bb publish --yes.
|
The publish task locally validates:
local git
you are not on a fork
you are on the default branch
do not have any uncommitted code
do not have any unpushed commits
local head sha matches matches remote head sha
changelog
Has an "Unreleased" section with content
Then also locally:
unSNAPSHOT version (our scheme is major.minor.<release count>)
Our version is stored in deps.edn under :aliases :neil :project :version
applies version to:
doc/01-user-guide.adoc
CHANGELOG.adoc
git commit: deps.edn doc/01-user-guide.adoc CHANGELOG.adoc
git tag with release tag v<version>
prep for ongoing dev work after release:
add new Unreleased section to CHANGELOG.adoc
bump <release count> & SNAPSHOT version stored in deps.edn
git commits these files
push new commits
push version tag
Then up on CI, the CI publish workflow is only triggered when it sees a release tag:
CI tests workflow is invoked
a release jar is published to clojars
a GitHub release is created
cljdoc is informed of the new release
Sources:
bb.edn - tasks entry point
deps.edn - we store project info (incuding version) under :aliases → :neil → :project
script/build_config.clj - build configuration
script/publish.clj - client side work
script/ci_publish.clj - ci side work
CI - We use GitHub Actions for this project
.github/workflows/publish.yml
Clojars secrets are protected under the publish environment which is only referenced by publish.yml.
When publishing, you will see both the tests workflow triggered and the publish workflow triggered (which also invokes the tests workflow).
This extra running of the tests workflow is GitHub Actions responding to changes committed as part of the publishing work.
Annoying, but harmless.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |