Skip to content

Commit

Permalink
Update to Fedora 40 (see #26)
Browse files Browse the repository at this point in the history
  • Loading branch information
vhotspur authored Sep 9, 2024
2 parents 6f33dfc + 660e8b8 commit d79aee0
Show file tree
Hide file tree
Showing 28 changed files with 187 additions and 96 deletions.
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1 +1,46 @@
# Docker images for Renaissance infrastructure

Images are available through GitHub repository at
<https://github.com/renaissance-benchmarks/docker-buildenv/pkgs/container/renaissance-buildenv>.

The versioning scheme is `vNUM-JAVA_VARIANT` where `NUM` is version number
(we use plain increasing integers) and `JAVA_VARIANT` is a particular Java
version such as `openjdk20`.

## Maintenance notes

Individual `Dockerfile`s are generated from `update.py` where common parts
are kept, version information (and information about base image) is kept
inside `version.rc`.

Every non-trivial update (i.e. changes generated `Dockerfile`) must bump the
version in `version.rc`.

Every commit and pull request is automatically built using GitHub Actions,
tag pushes also updates (pushes) the Docker images.

### Local testing

Images can be built using the `buildah-build.sh` script that receives a list
of directories to build (i.e. the directories where `Dockerfile` is).
Generated images are tagged according to information in `version.rc` with
`localhost/` as repository prefix.

The **deprecated** script `list-images-to-push.sh` lists locally built images
that can be pushed to the remote repository. Its function is superseeded by
the automated builds here on GitHub via Git tags.

The script `run-javas-in-podman.sh` runs `java -version` in all images built
previously by the `buildah-build.sh` script.

Test runs of Renaissance JAR can be executed via `run-renaissance-in-podman.sh`
that takes single argument: local path to built `renaissance.jar`.
The script then executes Renaissance benchmarks in all images built by
the `buildah-build.sh` script.
Extra arguments can be used to specify arguments for the actual run, thus
_replacing_ the defaults of `-r 1 -c test all` (that are used for fast
execution).
Running with `env images=REGEX run-renaissance-in-podman.sh ...` will filter
the images names to given `REGEX`, running the same way with `jvm_args` will
add extra arguments to the JVM
(e.g. `env jvm_args="-Djava.security.manager=allow" ...`).
2 changes: 1 addition & 1 deletion buildah-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ for i in "$@"; do

banner "Will build $image_tag from $dockerfile."

buildah bud --iidfile "$my_temp/id-$version.txt" -t "$image_name" "$dockerfile"
buildah bud --iidfile "$my_temp/id-$version.txt" -t "localhost/$image_name" "$dockerfile"
image_hash="$( cut -d: -f 2 "$my_temp/id-$version.txt" )"
echo "$version ==> podman push $image_hash docker://$image_name" >>"$my_temp/report.txt"
done
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openj9-openjdk11/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openj9-openjdk11
LABEL version=v11-openj9-openjdk11
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openj9-openjdk11)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.22%2B7_openj9-0.43.0/ibm-semeru-open-jdk_x64_linux_11.0.22_7_openj9-0.43.0.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-11.0.22+7/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openj9-openjdk17/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openj9-openjdk17
LABEL version=v11-openj9-openjdk17
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openj9-openjdk17)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.9%2B9_openj9-0.41.0/ibm-semeru-open-jdk_x64_linux_17.0.9_9_openj9-0.41.0.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-17.0.9+9/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openj9-openjdk21/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openj9-openjdk21
LABEL version=v11-openj9-openjdk21
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openj9-openjdk21)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://github.com/ibmruntimes/semeru21-binaries/releases/download/jdk-21.0.2%2B13_openj9-0.43.0/ibm-semeru-open-jdk_x64_linux_21.0.2_13_openj9-0.43.0.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-21.0.2+13/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openj9-openjdk8/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openj9-openjdk8
LABEL version=v11-openj9-openjdk8
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openj9-openjdk8)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://github.com/ibmruntimes/semeru8-binaries/releases/download/jdk8u402-b06_openj9-0.43.0/ibm-semeru-open-jdk_x64_linux_8u402b06_openj9-0.43.0.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk8u402-b06/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk10/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk10
LABEL version=v11-openjdk10
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk10)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk10/10.0.2/19aef61b38124481863b1413dce1855f/13/openjdk-10.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-10.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk11-with-ant-gcc/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk11-with-ant-gcc
LABEL version=v11-openjdk11-with-ant-gcc
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk11-with-ant-gcc)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip gcc bzip2 which jq \
&& dnf -y --setopt install_weak_deps=false --repo fedora --repo updates update

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install java-11-openjdk-devel \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb \
&& dnf clean all && rm -rf /var/log/* \
&& curl https://downloads.apache.org/ant/binaries/apache-ant-1.10.14-bin.tar.bz2 -o /tmp/apache-ant-1.10.14-bin.tar.bz2 \
&& tar -xjf /tmp/apache-ant-1.10.14-bin.tar.bz2 -C /opt \
&& rm -f /tmp/apache-ant-1.10.14-bin.tar.bz2 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk11/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk11
LABEL version=v11-openjdk11
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk11)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& dnf -y --setopt install_weak_deps=false --repo fedora --repo updates update

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install java-11-openjdk-devel \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

CMD ["/bin/bash"]
7 changes: 3 additions & 4 deletions buildenv-openjdk12/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk12
LABEL version=v11-openjdk12
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk12)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-12.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk13/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk13
LABEL version=v11-openjdk13
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk13)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk13.0.2/d4173c853231432d94f001e99d882ca7/8/GPL/openjdk-13.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-13.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk14/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk14
LABEL version=v11-openjdk14
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk14)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk14.0.2/205943a0976c4ed48cb16f1043c5c647/12/GPL/openjdk-14.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-14.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk15/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk15
LABEL version=v11-openjdk15
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk15)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk15.0.2/0d1cfde4252546c6931946de8db48ee2/7/GPL/openjdk-15.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-15.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk16/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk16
LABEL version=v11-openjdk16
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk16)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-16.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk17/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk17
LABEL version=v11-openjdk17
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk17)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& dnf -y --setopt install_weak_deps=false --repo fedora --repo updates update

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install java-17-openjdk-devel \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

CMD ["/bin/bash"]
7 changes: 3 additions & 4 deletions buildenv-openjdk18/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk18
LABEL version=v11-openjdk18
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk18)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk18.0.2/f6ad4b4450fd4d298113270ec84f30ee/9/GPL/openjdk-18.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-18.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk19/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk19
LABEL version=v11-openjdk19
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk19)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk19.0.2/fdb695a9d9064ad6b064dc6df578380c/7/GPL/openjdk-19.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-19.0.2/bin/java 10 \
Expand Down
7 changes: 3 additions & 4 deletions buildenv-openjdk20/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@

# WARNING: generated file, use update.py for updates

FROM fedora:39
FROM fedora:40
LABEL org.opencontainers.image.authors="[email protected]"
LABEL maintainer="[email protected]"
LABEL name=renaissance-buildenv
LABEL version=v10-openjdk20
LABEL version=v11-openjdk20
LABEL vendor=renaissance.dev
LABEL org.opencontainers.image.description "Build environment for Renaissance benchmarks (variant openjdk20)"

RUN dnf -y --setopt install_weak_deps=false --repo fedora --repo updates install ca-certificates git unzip \
&& rm -rf /var/log/* /var/lib/dnf/* /var/cache/dnf/* \
&& rpm --rebuilddb
&& dnf clean all && rm -rf /var/log/*

RUN curl -L "https://download.java.net/java/GA/jdk20.0.2/6e380f22cbe7469fa75fb448bd903d8e/9/GPL/openjdk-20.0.2_linux-x64_bin.tar.gz" | tar -xz -C /opt \
&& alternatives --install /usr/bin/java java /opt/jdk-20.0.2/bin/java 10 \
Expand Down
Loading

0 comments on commit d79aee0

Please sign in to comment.