|
2 | 2 |
|
3 | 3 | ## Releasing New Version
|
4 | 4 |
|
5 |
| -Two submodules of this project have different release strategies. |
6 |
| - |
7 |
| -- `JJava Kernel` assembly is released using GitHub releases |
8 |
| -- `jupyter-jvm-basekenel` module is released on Maven Central using the oss.sonatype.org repo |
| 5 | +### Prerequisites |
9 | 6 |
|
10 |
| -Before performing a release you should check `RELEASE-NOTES.md` to see that everything intended is there. |
| 7 | +You will need a **JDK** >= 11 and proper credentials for the `oss-sonatype-releases` repository |
11 | 8 |
|
12 |
| -### Prerequisites |
| 9 | +### Perform the Release |
13 | 10 |
|
14 |
| -You need a **JDK** >= 11 and a proper credentials for the `oss-sonatype-releases` repository |
| 11 | +Two submodules of this project have different release strategies: |
15 | 12 |
|
16 |
| -### Preparing release |
| 13 | +- `JJava Kernel` assembly is released using GitHub releases |
| 14 | +- `jupyter-jvm-basekenel` module is released on Maven Central using the oss.sonatype.org repo |
17 | 15 |
|
18 |
| -To start a release process you could use `maven-release-plugin` as usual: |
| 16 | +Still everything is done through a single set of Maven commands: |
19 | 17 |
|
20 | 18 | ```bash
|
21 |
| -mvn release:clean |
22 |
| -mvn release:prepare |
| 19 | +# mvn release:clean |
| 20 | +mvn release:prepare -Prelease |
| 21 | +mvn release:perform -Prelease |
23 | 22 | ```
|
| 23 | +Go to [https://s01.oss.sonatype.org/]() and manually close and release the staging repository. |
24 | 24 |
|
25 |
| -These commands will create a release tag and [GitHub Actions](https://github.com/dflib/jjava/actions/workflows/release.yml) automation will create a draft release. |
26 |
| -(**NOTE**: this is not fully set up for now, and release creation will fail, see next section). |
| 25 | +Go to [GitHub Releases](https://github.com/dflib/jjava/releases) to manually edit the created draft and publish it. |
27 | 26 |
|
28 |
| -### Manual creation of the JJava release on GitHub |
| 27 | +### GitHub Publishing Notes |
29 | 28 |
|
30 |
| -You could create a release manually in case GitHub Action is failing. |
31 |
| - |
32 |
| -Just clone the tag created in the previous step |
| 29 | +While GitHub actions should automatically publish the JJava zip file to GitHub releases as a draft after the |
| 30 | +`release:prepare` step, this is not yet work. If the action fails, you should release manually as follows: |
33 | 31 |
|
34 | 32 | ```bash
|
35 |
| -git clone https://github.com/dflib/jjava.git --branch "XXX" --depth 1 |
36 |
| -``` |
37 |
| -and run |
38 |
| -```bash |
| 33 | +# "XXX" is the release tag name generated by Maven above |
| 34 | +git switch -c XXX "XXX" |
39 | 35 | mvn clean package
|
40 | 36 | ```
|
41 | 37 |
|
42 |
| -Then go to [GitHub Releases](https://github.com/dflib/jjava/releases) create a new release and upload `jjava/target/jjava-XXX.zip` artifact. |
43 |
| - |
44 |
| -### Finalizing `JJava` release |
45 |
| - |
46 |
| -To finalize the JJava release you should go to the [GitHub Releases](https://github.com/dflib/jjava/releases) to manually edit the created draft and publish it. |
47 |
| - |
48 |
| -### Finalizing `jupyter-jvm-basekenel` release |
49 |
| - |
50 |
| -To finalize the `jupyter-jvm-basekenel` release run: |
51 |
| - |
52 |
| -```bash |
53 |
| -mvn release:perform -Prelease |
54 |
| -``` |
| 38 | +Go to [GitHub Releases](https://github.com/dflib/jjava/releases) create a new release and upload `jjava/target/jjava-XXX.zip` artifact. |
55 | 39 |
|
56 |
| -And go to [https://s01.oss.sonatype.org/]() and manually close and release the staging repository. |
0 commit comments