|
| 1 | +--- |
| 2 | +name: Update Java Bases |
| 3 | +about: >- |
| 4 | + This template contains instructions specific to updating this product and/or |
| 5 | + container image(s). |
| 6 | +title: >- |
| 7 | + chore(java-bases): Update container images ahead of Stackable Release XX.(X)X |
| 8 | +labels: [] |
| 9 | +# Currently, projects cannot be assigned via front-matter. |
| 10 | +projects: ['stackabletech/10'] |
| 11 | +assignees: '' |
| 12 | +--- |
| 13 | + |
| 14 | +Part of #xxx. |
| 15 | + |
| 16 | +<!-- |
| 17 | +This gives hints to the person doing the work. |
| 18 | +Add/Change/Remove anything that isn't applicable anymore |
| 19 | +--> |
| 20 | +- Add: `x.x.x` |
| 21 | +- Remove: `y.y.y` |
| 22 | + |
| 23 | +> [!TIP] |
| 24 | +> Please add the `scheduled-for/20XX-XX` label, and add to the [Stackable Engineering][1] project. |
| 25 | +> |
| 26 | +> [1]: https://github.com/orgs/stackabletech/projects/10 |
| 27 | +
|
| 28 | +<!-- markdownlint-disable-next-line MD028 --> |
| 29 | +> [!IMPORTANT] |
| 30 | +> |
| 31 | +> - `java-base` uses [vector](https://github.com/stackabletech/docker-images/blob/main/vector/Dockerfile) and is used as a base for java products. |
| 32 | +> - `java-devel` uses [stackable-base](https://github.com/stackabletech/docker-images/blob/main/stackable-base/Dockerfile) and is used to build java products. |
| 33 | +
|
| 34 | +Typically product updates will determine which version of Java is required, but |
| 35 | +we should also make new versions of Java available for use. |
| 36 | + |
| 37 | +> [!TIP] |
| 38 | +> You can search for available java versions at [rpmfind.net], and search the |
| 39 | +> term `openjdk-headless`. |
| 40 | +> _It isn't perfect, as it will depend on what is available via microdnf._ |
| 41 | +
|
| 42 | +```[tasklist] |
| 43 | +### Update tasks |
| 44 | +- [ ] Add any new versions of java to both `java-base/versions.py` and `java-devel/versions.py` |
| 45 | +- [ ] Remove versions when there are no long any references (eg: `grep java- **/versions.py | grep "1.8.0"`) |
| 46 | +``` |
| 47 | + |
| 48 | +```[tasklist] |
| 49 | +### Related Pull Requests |
| 50 | +- [ ] _Link to the docker-images PR (product update)_ |
| 51 | +``` |
| 52 | + |
| 53 | +This list should be completed by the assignee(s), once respective PRs have been merged. Once all items have been checked, the issue can be moved into _Development: Done_. |
| 54 | + |
| 55 | +```[tasklist] |
| 56 | +### Acceptance |
| 57 | +- [ ] Can build a product image that uses the new version(s) |
| 58 | +- [ ] Both `java-base` and `java-devel` have the same Java versions in `versions.py` |
| 59 | +- [ ] Kuttl smoke test passes locally for a product using the new Java version |
| 60 | +``` |
| 61 | + |
| 62 | +<details> |
| 63 | +<summary>Testing instructions</summary> |
| 64 | + |
| 65 | +```shell |
| 66 | +# See the latest version at https://pypi.org/project/image-tools-stackabletech/ |
| 67 | +pip install image-tools-stackabletech==0.0.13 |
| 68 | + |
| 69 | +# Test a product image can build, eg: ZooKeeper |
| 70 | +bake --product zookeeper=x.y.z # where x.y.z is a valid product version using the newly added Java version |
| 71 | + |
| 72 | +kind load docker-image docker.stackable.tech/stackable/zookeeper:x.y.z-stackable0.0.0-dev |
| 73 | + |
| 74 | +# Change directory into one of the operator repositories (eg: zookeeper-operator) and update the |
| 75 | +# product version in tests/test-definition.yaml |
| 76 | +./scripts/run-tests --test-suite smoke-latest # or similar |
| 77 | +``` |
| 78 | + |
| 79 | +</details> |
| 80 | + |
| 81 | +_Please consider updating this template if these instructions are wrong, or |
| 82 | +could be made clearer._ |
| 83 | + |
| 84 | +[rpmfind.net]: https://rpmfind.net/linux/RPM/Development_Java.html |
0 commit comments