Skip to content

Commit 6282256

Browse files
committed
update PR workflow for new base image conventions [ci skip]
1 parent 9d4da77 commit 6282256

2 files changed

Lines changed: 194 additions & 57 deletions

File tree

.github/workflows/pull-request.yml

Lines changed: 192 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -11,89 +11,224 @@ concurrency:
1111
cancel-in-progress: true
1212

1313
jobs:
14-
pr-tests:
14+
build-base-images:
1515
runs-on: ubuntu-latest
16-
env:
17-
DOCKER_IMAGE: ortussolutions/commandbox
18-
COMMANDBOX_VERSION: 6.3.2
1916
strategy:
2017
matrix:
2118
include:
22-
- BUILD_IMAGE_DOCKERFILE: builds/debian/Base.Dockerfile
23-
BUILD_IMAGE_TAG: latest
24-
- BUILD_IMAGE_DOCKERFILE: builds/debian/Base.Dockerfile
25-
BUILD_IMAGE_TAG: jre11
19+
# Foundation images (builds/base/* - eclipse-temurin based)
20+
- BUILD_IMAGE_DOCKERFILE: builds/base/Dockerfile
21+
BUILD_IMAGE_TAGS: "latest,jre11"
2622
- BUILD_IMAGE_DOCKERFILE: builds/base/JDK11.Dockerfile
27-
BUILD_IMAGE_TAG: jdk11
28-
- BUILD_IMAGE_DOCKERFILE: builds/debian/Base.JDK8.Dockerfile
29-
BUILD_IMAGE_TAG: jdk8
23+
BUILD_IMAGE_TAGS: "jdk11"
24+
- BUILD_IMAGE_DOCKERFILE: builds/base/JDK17.Dockerfile
25+
BUILD_IMAGE_TAGS: "jdk17"
26+
- BUILD_IMAGE_DOCKERFILE: builds/base/JDK21.Dockerfile
27+
BUILD_IMAGE_TAGS: "jdk21"
28+
- BUILD_IMAGE_DOCKERFILE: builds/base/JDK24.Dockerfile
29+
BUILD_IMAGE_TAGS: "jdk24"
30+
- BUILD_IMAGE_DOCKERFILE: builds/base/JDK25.Dockerfile
31+
BUILD_IMAGE_TAGS: "jdk25"
32+
- BUILD_IMAGE_DOCKERFILE: builds/base/JRE17.Dockerfile
33+
BUILD_IMAGE_TAGS: "jre17"
34+
- BUILD_IMAGE_DOCKERFILE: builds/base/JRE21.Dockerfile
35+
BUILD_IMAGE_TAGS: "jre21"
36+
- BUILD_IMAGE_DOCKERFILE: builds/base/JRE24.Dockerfile
37+
BUILD_IMAGE_TAGS: "jre24"
38+
- BUILD_IMAGE_DOCKERFILE: builds/base/JRE25.Dockerfile
39+
BUILD_IMAGE_TAGS: "jre25"
40+
41+
# RHEL/UBI9 foundation images
42+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.Dockerfile
43+
BUILD_IMAGE_TAGS: "ubi10,jre11-rhel"
44+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK11.Dockerfile
45+
BUILD_IMAGE_TAGS: "jdk11-rhel"
46+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK17.Dockerfile
47+
BUILD_IMAGE_TAGS: "jdk17-rhel"
48+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK21.Dockerfile
49+
BUILD_IMAGE_TAGS: "jdk21-rhel"
50+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK24.Dockerfile
51+
BUILD_IMAGE_TAGS: "jdk24-rhel"
52+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JRE17.Dockerfile
53+
BUILD_IMAGE_TAGS: "jre17-rhel"
54+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JRE21.Dockerfile
55+
BUILD_IMAGE_TAGS: "jre21-rhel"
56+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JRE24.Dockerfile
57+
BUILD_IMAGE_TAGS: "jre24-rhel"
58+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK25.Dockerfile
59+
BUILD_IMAGE_TAGS: "jdk25-rhel"
60+
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JRE25.Dockerfile
61+
BUILD_IMAGE_TAGS: "jre25-rhel"
62+
63+
# Alpine foundation images
64+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.Dockerfile
65+
BUILD_IMAGE_TAGS: "alpine,jre11-alpine"
66+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JDK11.Dockerfile
67+
BUILD_IMAGE_TAGS: "jdk11-alpine"
68+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JDK17.Dockerfile
69+
BUILD_IMAGE_TAGS: "jdk17-alpine"
70+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JDK21.Dockerfile
71+
BUILD_IMAGE_TAGS: "jdk21-alpine"
72+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JRE17.Dockerfile
73+
BUILD_IMAGE_TAGS: "jre17-alpine"
74+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JRE21.Dockerfile
75+
BUILD_IMAGE_TAGS: "jre21-alpine"
76+
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JRE25.Dockerfile
77+
BUILD_IMAGE_TAGS: "jre25-alpine"
78+
79+
steps:
80+
- name: Checkout
81+
uses: actions/checkout@v4
82+
83+
- name: Set up Docker Buildx
84+
id: buildx
85+
uses: docker/setup-buildx-action@master
86+
87+
- name: Setup Base Image Builds
88+
id: setup
89+
env:
90+
DOCKER_IMAGE: ortussolutions/commandbox
91+
BUILD_IMAGE_TAGS: ${{ matrix.BUILD_IMAGE_TAGS }}
92+
COMMANDBOX_VERSION: 6.3.3
93+
run: |
94+
IFS=',' read -ra TAG_ARRAY <<< "$BUILD_IMAGE_TAGS"
95+
echo "BUILD_IMAGE_TAG=${TAG_ARRAY[0]}" >> $GITHUB_ENV
96+
echo "commandbox_version=${COMMANDBOX_VERSION}" >> $GITHUB_ENV
97+
98+
- name: Build Base Image Locally
99+
env:
100+
DOCKER_BUILDKIT: 1
101+
run: |
102+
docker buildx build \
103+
--load \
104+
--platform linux/amd64 \
105+
--file ${{ matrix.BUILD_IMAGE_DOCKERFILE }} \
106+
--build-arg COMMANDBOX_VERSION=${{ env.commandbox_version }} \
107+
--tag ortussolutions/commandbox:${{ env.BUILD_IMAGE_TAG }} \
108+
.
109+
110+
- name: Test Built Image
111+
env:
112+
COMMANDBOX_VERSION: ${{ env.commandbox_version }}
113+
DOCKER_BUILDKIT: 1
114+
COMPOSE_DOCKER_CLI_BUILD: 1
115+
BUILD_IMAGE_DOCKERFILE: ${{ matrix.BUILD_IMAGE_DOCKERFILE }}
116+
BUILD_IMAGE_TAG: ${{ env.BUILD_IMAGE_TAG }}
117+
BASE_IMAGE_ARG:
118+
run: |
119+
docker compose -f docker-compose.test.yml up --build --exit-code-from sut
120+
docker compose -f docker-compose.secret-test.yml up --build --exit-code-from sut
121+
122+
build-engine-images:
123+
runs-on: ubuntu-latest
124+
needs: build-base-images
125+
strategy:
126+
matrix:
127+
include:
128+
# Debian engine builds
30129
- BUILD_IMAGE_DOCKERFILE: builds/debian/Lucee5.Dockerfile
31-
BUILD_IMAGE_TAG: lucee5
130+
BUILD_IMAGE_TAGS: "lucee5"
131+
BASE_IMAGE: "ortussolutions/commandbox:latest"
132+
- BUILD_IMAGE_DOCKERFILE: builds/debian/Lucee6.Dockerfile
133+
BUILD_IMAGE_TAGS: "lucee6"
134+
BASE_IMAGE: "ortussolutions/commandbox:jre17"
135+
- BUILD_IMAGE_DOCKERFILE: builds/debian/Lucee7.Dockerfile
136+
BUILD_IMAGE_TAGS: "lucee7"
137+
BASE_IMAGE: "ortussolutions/commandbox:jre25"
32138
- BUILD_IMAGE_DOCKERFILE: builds/debian/LuceeLight.Dockerfile
33-
BUILD_IMAGE_TAG: lucee-light
34-
- BUILD_IMAGE_DOCKERFILE: builds/debian/Adobe2018.Dockerfile
35-
BUILD_IMAGE_TAG: adobe2018
36-
- BUILD_IMAGE_DOCKERFILE: builds/debian/Adobe2021.Dockerfile
37-
BUILD_IMAGE_TAG: adobe2021
139+
BUILD_IMAGE_TAGS: "lucee-light"
140+
BASE_IMAGE: "ortussolutions/commandbox:latest"
141+
- BUILD_IMAGE_DOCKERFILE: builds/debian/Lucee5Light.Dockerfile
142+
BUILD_IMAGE_TAGS: "lucee5-light"
143+
BASE_IMAGE: "ortussolutions/commandbox:latest"
144+
- BUILD_IMAGE_DOCKERFILE: builds/debian/Adobe2023.Dockerfile
145+
BUILD_IMAGE_TAGS: "adobe2023"
146+
BASE_IMAGE: "ortussolutions/commandbox:jdk17"
147+
- BUILD_IMAGE_DOCKERFILE: builds/debian/Adobe2025.Dockerfile
148+
BUILD_IMAGE_TAGS: "adobe2025"
149+
BASE_IMAGE: "ortussolutions/commandbox:jdk21"
38150
- BUILD_IMAGE_DOCKERFILE: builds/debian/BoxLang.Dockerfile
39-
BUILD_IMAGE_TAG: boxlang
151+
BUILD_IMAGE_TAGS: "boxlang"
152+
BASE_IMAGE: "ortussolutions/commandbox:jdk21"
40153

41-
# ubi9 Builds
42-
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Base.Dockerfile
43-
BUILD_IMAGE_TAG: ubi9
44-
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Base.Dockerfile
45-
BUILD_IMAGE_TAG: jre11-rhel
46-
- BUILD_IMAGE_DOCKERFILE: builds/base/rhel.JDK11.Dockerfile
47-
BUILD_IMAGE_TAG: jdk11-rhel
154+
# RHEL engine builds
48155
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Lucee5.Dockerfile
49-
BUILD_IMAGE_TAG: lucee5-rhel
156+
BUILD_IMAGE_TAGS: "lucee5-rhel"
157+
BASE_IMAGE: "ortussolutions/commandbox:ubi9"
158+
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Lucee6.Dockerfile
159+
BUILD_IMAGE_TAGS: "lucee6-rhel"
160+
BASE_IMAGE: "ortussolutions/commandbox:ubi9"
161+
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Lucee7.Dockerfile
162+
BUILD_IMAGE_TAGS: "lucee7-rhel"
163+
BASE_IMAGE: "ortussolutions/commandbox:jre25-rhel"
50164
- BUILD_IMAGE_DOCKERFILE: builds/redhat/LuceeLight.Dockerfile
51-
BUILD_IMAGE_TAG: lucee-light-rhel
52-
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Adobe2018.Dockerfile
53-
BUILD_IMAGE_TAG: adobe2018-rhel
54-
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Adobe2021.Dockerfile
55-
BUILD_IMAGE_TAG: adobe2021-rhel
165+
BUILD_IMAGE_TAGS: "lucee-light-rhel"
166+
BASE_IMAGE: "ortussolutions/commandbox:ubi9"
167+
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Lucee5Light.Dockerfile
168+
BUILD_IMAGE_TAGS: "lucee5-light-rhel"
169+
BASE_IMAGE: "ortussolutions/commandbox:ubi9"
170+
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Adobe2023.Dockerfile
171+
BUILD_IMAGE_TAGS: "adobe2023-rhel"
172+
BASE_IMAGE: "ortussolutions/commandbox:jdk17-rhel"
173+
- BUILD_IMAGE_DOCKERFILE: builds/redhat/Adobe2025.Dockerfile
174+
BUILD_IMAGE_TAGS: "adobe2025-rhel"
175+
BASE_IMAGE: "ortussolutions/commandbox:jdk21-rhel"
56176
- BUILD_IMAGE_DOCKERFILE: builds/redhat/BoxLang.Dockerfile
57-
BUILD_IMAGE_TAG: boxlang-rhel
58-
59-
# Alpine builds
60-
# Note: No JDK builders currently support alpine with ARM
61-
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Base.Dockerfile
62-
BUILD_IMAGE_TAG: alpine
63-
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Base.Dockerfile
64-
BUILD_IMAGE_TAG: jre11-alpine
65-
- BUILD_IMAGE_DOCKERFILE: builds/base/Alpine.JDK11.Dockerfile
66-
BUILD_IMAGE_TAG: jdk11-alpine
67-
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Base.JDK8.Dockerfile
68-
BUILD_IMAGE_TAG: jdk8-alpine
177+
BUILD_IMAGE_TAGS: "boxlang-rhel"
178+
BASE_IMAGE: "ortussolutions/commandbox:jdk21-rhel"
179+
180+
# Alpine engine builds
69181
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Lucee5.Dockerfile
70-
BUILD_IMAGE_TAG: lucee5-alpine
182+
BUILD_IMAGE_TAGS: "lucee5-alpine"
183+
BASE_IMAGE: "ortussolutions/commandbox:alpine"
184+
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Lucee6.Dockerfile
185+
BUILD_IMAGE_TAGS: "lucee6-alpine"
186+
BASE_IMAGE: "ortussolutions/commandbox:alpine"
187+
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Lucee7.Dockerfile
188+
BUILD_IMAGE_TAGS: "lucee7-alpine"
189+
BASE_IMAGE: "ortussolutions/commandbox:jre25-alpine"
71190
- BUILD_IMAGE_DOCKERFILE: builds/alpine/LuceeLight.Dockerfile
72-
BUILD_IMAGE_TAG: lucee-light-alpine
73-
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Adobe2018.Dockerfile
74-
BUILD_IMAGE_TAG: adobe2018-alpine
75-
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Adobe2021.Dockerfile
76-
BUILD_IMAGE_TAG: adobe2021-alpine
191+
BUILD_IMAGE_TAGS: "lucee-light-alpine"
192+
BASE_IMAGE: "ortussolutions/commandbox:alpine"
193+
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Lucee5Light.Dockerfile
194+
BUILD_IMAGE_TAGS: "lucee5-light-alpine"
195+
BASE_IMAGE: "ortussolutions/commandbox:alpine"
196+
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Adobe2023.Dockerfile
197+
BUILD_IMAGE_TAGS: "adobe2023-alpine"
198+
BASE_IMAGE: "ortussolutions/commandbox:jdk17-alpine"
199+
- BUILD_IMAGE_DOCKERFILE: builds/alpine/Adobe2025.Dockerfile
200+
BUILD_IMAGE_TAGS: "adobe2025-alpine"
201+
BASE_IMAGE: "ortussolutions/commandbox:jdk21-alpine"
77202
- BUILD_IMAGE_DOCKERFILE: builds/alpine/BoxLang.Dockerfile
78-
BUILD_IMAGE_TAG: boxlang-alpine
203+
BUILD_IMAGE_TAGS: "boxlang-alpine"
204+
BASE_IMAGE: "ortussolutions/commandbox:jdk21-alpine"
205+
79206
steps:
80207
- name: Checkout
81-
uses: actions/checkout@v6
82-
83-
- name: Set up QEMU
84-
uses: docker/setup-qemu-action@master
85-
with:
86-
platforms: all
208+
uses: actions/checkout@v4
87209

88210
- name: Set up Docker Buildx
89211
id: buildx
90212
uses: docker/setup-buildx-action@master
91213

92-
- name: Test
214+
- name: Setup Engine Image Builds
215+
id: setup
216+
env:
217+
BUILD_IMAGE_TAGS: ${{ matrix.BUILD_IMAGE_TAGS }}
218+
COMMANDBOX_VERSION: 6.3.3
219+
run: |
220+
IFS=',' read -ra TAG_ARRAY <<< "$BUILD_IMAGE_TAGS"
221+
echo "BUILD_IMAGE_TAG=${TAG_ARRAY[0]}" >> $GITHUB_ENV
222+
echo "commandbox_version=${COMMANDBOX_VERSION}" >> $GITHUB_ENV
223+
224+
- name: Test Engine Images
93225
env:
226+
COMMANDBOX_VERSION: ${{ env.commandbox_version }}
94227
DOCKER_BUILDKIT: 1
95228
COMPOSE_DOCKER_CLI_BUILD: 1
96229
BUILD_IMAGE_DOCKERFILE: ${{ matrix.BUILD_IMAGE_DOCKERFILE }}
230+
BUILD_IMAGE_TAG: ${{ env.BUILD_IMAGE_TAG }}
231+
BASE_IMAGE_ARG: ${{ matrix.BASE_IMAGE }}
97232
run: |
98233
docker compose -f docker-compose.test.yml up --build --exit-code-from sut
99234
docker compose -f docker-compose.secret-test.yml up --build --exit-code-from sut

changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
----
9+
## [Unreleased]
10+
911
## [6.3.3/3.18.0]
1012

1113
### Changed

0 commit comments

Comments
 (0)