|
1 | 1 | # Docker images for Renaissance infrastructure
|
| 2 | + |
| 3 | +Images are available through GitHub repository at |
| 4 | +<https://github.com/renaissance-benchmarks/docker-buildenv/pkgs/container/renaissance-buildenv>. |
| 5 | + |
| 6 | +The versioning scheme is `vNUM-JAVA_VARIANT` where `NUM` is version number |
| 7 | +(we use plain increasing integers) and `JAVA_VARIANT` is a particular Java |
| 8 | +version such as `openjdk20`. |
| 9 | + |
| 10 | +## Maintenance notes |
| 11 | + |
| 12 | +Individual `Dockerfile`s are generated from `update.py` where common parts |
| 13 | +are kept, version information (and information about base image) is kept |
| 14 | +inside `version.rc`. |
| 15 | + |
| 16 | +Every non-trivial update (i.e. changes generated `Dockerfile`) must bump the |
| 17 | +version in `version.rc`. |
| 18 | + |
| 19 | +Every commit and pull request is automatically built using GitHub Actions, |
| 20 | +tag pushes also updates (pushes) the Docker images. |
| 21 | + |
| 22 | +### Local testing |
| 23 | + |
| 24 | +Images can be built using the `buildah-build.sh` script that receives a list |
| 25 | +of directories to build (i.e. the directories where `Dockerfile` is). |
| 26 | +Generated images are tagged according to information in `version.rc` with |
| 27 | +`localhost/` as repository prefix. |
| 28 | + |
| 29 | +The **deprecated** script `list-images-to-push.sh` lists locally built images |
| 30 | +that can be pushed to the remote repository. Its function is superseeded by |
| 31 | +the automated builds here on GitHub via Git tags. |
| 32 | + |
| 33 | +The script `run-javas-in-podman.sh` runs `java -version` in all images built |
| 34 | +previously by the `buildah-build.sh` script. |
| 35 | + |
| 36 | +Test runs of Renaissance JAR can be executed via `run-renaissance-in-podman.sh` |
| 37 | +that takes single argument: local path to built `renaissance.jar`. |
| 38 | +The script then executes Renaissance benchmarks in all images built by |
| 39 | +the `buildah-build.sh` script. |
| 40 | +Extra arguments can be used to specify arguments for the actual run, thus |
| 41 | +_replacing_ the defaults of `-r 1 -c test all` (that are used for fast |
| 42 | +execution). |
| 43 | +Running with `env images=REGEX run-renaissance-in-podman.sh ...` will filter |
| 44 | +the images names to given `REGEX`, running the same way with `jvm_args` will |
| 45 | +add extra arguments to the JVM |
| 46 | +(e.g. `env jvm_args="-Djava.security.manager=allow" ...`). |
0 commit comments