@@ -23,19 +23,23 @@ This is the overall structure of the project:
2323
2424In this structure we have two packages - ` a ` and ` b ` where package ` b ` depends on package ` a ` .
2525
26- This project demonstrates a workflow where:
26+ > [ !NOTE]
27+ >
28+ > Run ` kmono query ` to inspect the workspace package graph and see how packages relate
2729
28- 1 ) Packages are built and released when PR's are merged to master.
29- 2 ) Only packages that have changed since their previous version are build and released.
30- 3 ) The project uses convensional-commits and package versions are derived from commits.
30+ This project demonstrates a workflow where:
31+
32+ 1 . Packages are built and released when PR's are merged to master.
33+ 2 . Only packages that have changed since their previous version are build and released.
34+ 3 . The project uses conventional-commits and package versions are derived from commits.
3135
3236The above requirements aren't needed to make use of kmono - this just serves to demonstrate a particular workflow and
3337how you might use kmono to achieve it.
3438
3539## Building/Releasing
3640
3741The build and release workflow described above is entirely encapsulated in the ` build.clj ` file using ` tools.build ` and
38- kmono-* APIs.
42+ kmono-\ * APIs.
3943
4044Packages can be built by running:
4145
@@ -49,8 +53,8 @@ And the built packages can then be released by running
4953clojure -T:build release
5054```
5155
52- For both building and releasing you can add the ` :skip-unchanged true ` argument to build and release only packages that
53- have changed. The idea being that you would pass this by default during CI.
56+ For both building and releasing you can add the ` :skip-unchanged true ` argument to only build and release packages that
57+ have changed since their last release . The idea being that you would pass this by default during CI.
5458
5559``` bash
5660clojure -T:build build :skip-unchanged true
@@ -61,16 +65,16 @@ development to build all packages.
6165
6266---
6367
64- Take a look at the [ example GitHub workflow file] ( ./.github/workflows/release.yaml ) for how you might set up your CI
68+ Have a look at the [ example GitHub workflow file] ( ./.github/workflows/release.yaml ) for how you might set up your CI
6569pipeline for release.
6670
6771## Testing
6872
6973To run the tests for each package you can run the command
7074
7175``` bash
76+ # Run `clojure -M` in each package (indicated by the `*`) that has a `:test` alias.
7277kmono run -M ' :*/test'
7378```
7479
75- This means run ` clojure -M ` in each package (indicated by the ` * ` ) that has a ` :test ` alias. Each respective packages'
76- ` :test ` alias will then be appended to the command when it is run, like so: ` clojure -M:test ` .
80+ Each respective packages' ` :test ` alias will then be appended to the command when it is run, like so: ` clojure -M:test ` .
0 commit comments