diff --git a/.github/workflows/build-multiarch.yml b/.github/workflows/build-multiarch.yml index dadf2151..93f2af9c 100644 --- a/.github/workflows/build-multiarch.yml +++ b/.github/workflows/build-multiarch.yml @@ -39,37 +39,37 @@ jobs: - variant: java21-graalvm baseImage: container-registry.oracle.com/graalvm/jdk:21-ol8 platforms: linux/amd64,linux/arm64 - mcVersion: 1.20.2 + mcVersion: latest - variant: java21 baseImage: eclipse-temurin:21-jre platforms: linux/amd64,linux/arm64 - mcVersion: 1.19.3 + mcVersion: latest - variant: java21-alpine baseImage: eclipse-temurin:21-jre-alpine platforms: linux/amd64 - mcVersion: 1.19.3 + mcVersion: latest # JAVA 17: - variant: java17 # jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343 baseImage: eclipse-temurin:17-jre-focal platforms: linux/amd64,linux/arm/v7,linux/arm64 - mcVersion: 1.18.2 + mcVersion: latest - variant: java17-graalvm baseImage: container-registry.oracle.com/graalvm/jdk:17-ol8 platforms: linux/amd64,linux/arm64 - mcVersion: 1.18.2 + mcVersion: latest - variant: java17-jdk baseImage: eclipse-temurin:17-focal platforms: linux/amd64,linux/arm/v7,linux/arm64 - mcVersion: 1.18.2 + mcVersion: latest - variant: java17-openj9 baseImage: ibm-semeru-runtimes:open-17-jre platforms: linux/amd64,linux/arm64 - mcVersion: 1.18.2 + mcVersion: latest - variant: java17-alpine baseImage: eclipse-temurin:17-jre-alpine platforms: linux/amd64 - mcVersion: 1.18.2 + mcVersion: latest # JAVA 11: - variant: java11 baseImage: adoptopenjdk:11-jre-hotspot diff --git a/.github/workflows/verify-pr.yml b/.github/workflows/verify-pr.yml index cf12ee8c..26ba0877 100644 --- a/.github/workflows/verify-pr.yml +++ b/.github/workflows/verify-pr.yml @@ -25,17 +25,17 @@ jobs: - variant: java21 baseImage: eclipse-temurin:21-jre platforms: linux/amd64,linux/arm64 - mcVersion: 1.19.4 + mcVersion: latest # JAVA 17: - variant: java17 # jammy doesn't work until minecraft updates to https://github.com/netty/netty/issues/12343 baseImage: eclipse-temurin:17-jre-focal platforms: linux/amd64 - mcVersion: 1.19.4 + mcVersion: latest - variant: java17-alpine baseImage: eclipse-temurin:17-jre-alpine platforms: linux/amd64 - mcVersion: 1.19.4 + mcVersion: latest - variant: java8-multiarch baseImage: eclipse-temurin:8u312-b07-jre-focal platforms: linux/amd64 diff --git a/Dockerfile b/Dockerfile index b9864f2b..fa5915b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,7 +39,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \ --var version=${RCON_CLI_VERSION} --var app=rcon-cli --file {{.app}} \ --from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz -ARG MC_MONITOR_VERSION=0.12.6 +ARG MC_MONITOR_VERSION=0.12.8 RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \ --var version=${MC_MONITOR_VERSION} --var app=mc-monitor --file {{.app}} \ --from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz diff --git a/tests/fulltests/multi-part-motd/docker-compose.yml b/tests/fulltests/multi-part-motd/docker-compose.yml new file mode 100644 index 00000000..d5a272c5 --- /dev/null +++ b/tests/fulltests/multi-part-motd/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3" + +services: + monitor: + depends_on: + - mc + image: ${IMAGE_TO_TEST:-itzg/minecraft-server} + entrypoint: mc-monitor + command: status --host mc --retry-interval 1s --timeout 1s --retry-limit 60 + mc: + restart: "no" + image: ${IMAGE_TO_TEST:-itzg/minecraft-server} + environment: + EULA: "TRUE" + VERSION: ${MINECRAFT_VERSION:-LATEST} + TYPE: PAPER + # regression tests https://github.com/itzg/docker-minecraft-server/issues/2545 + MOTD: "Foo§rBar" + diff --git a/tests/fulltests/test.sh b/tests/fulltests/test.sh index 4a9a4891..7e48ab96 100644 --- a/tests/fulltests/test.sh +++ b/tests/fulltests/test.sh @@ -3,41 +3,33 @@ # go to script root directory cd "$(dirname "$0")" || exit 1 -# compose down function for reuse down() { - docker-compose down -v --remove-orphans -} - -checkandExitOnFailure(){ - failed=$1 - # docker-compose logs outputs messages from the specified container - if $failed; then - docker-compose logs mc - down - cd .. - exit 2 - fi + docker compose -f "$1" down -v --remove-orphans } # tests to completely spin up Minecraft and use the monitor to validate the service is running. fullMinecraftUpTest(){ - folder=$1 - cd "$folder" + file="$1" failed=false # run the monitor to validate the Minecraft image is healthy - docker-compose run monitor || failed=true - echo "${folder} Result: failed=$failed" - checkandExitOnFailure $failed - down - cd .. + docker compose -f "$file" run monitor || failed=true + echo "$(dirname "$file") Result: failed=$failed" + if $failed; then + docker compose logs mc + down "$file" + return 1 + else + down "$file" + fi } # go through each folder in fulltests and run fullbuilds -FOLDERS=$(ls) -for folder in $FOLDERS; do - # If folder is a directory - if [ -d "$folder" ]; then - echo "Starting Tests on ${folder}" - fullMinecraftUpTest $folder +files=$(ls */docker-compose.yml) +for file in $files; do + + echo "Starting Tests on $(dirname "$file")" + if ! fullMinecraftUpTest "$file"; then + exit 2 fi + done diff --git a/tests/fulltests/vanilla-latest/docker-compose.yml b/tests/fulltests/vanilla-latest/docker-compose.yml index 8065459d..b5946e4d 100644 --- a/tests/fulltests/vanilla-latest/docker-compose.yml +++ b/tests/fulltests/vanilla-latest/docker-compose.yml @@ -4,7 +4,8 @@ services: monitor: depends_on: - mc - image: itzg/mc-monitor:${MC_MONITOR_VERSION:-0.10.4} + image: ${IMAGE_TO_TEST:-itzg/minecraft-server} + entrypoint: mc-monitor command: status --host mc --retry-interval 1s --timeout 1s --retry-limit 300 mc: restart: "no"