Skip to content

build-docker-images #2658

build-docker-images

build-docker-images #2658

Workflow file for this run

name: Build Lucee Docker Images
on:
workflow_dispatch:
inputs:
LUCEE_VERSION:
required: true
type: string
REBUILD_DATE:
required: false
type: string
DRY_RUN:
required: false
default: false
type: boolean
workflow_call:
inputs:
LUCEE_VERSION:
required: true
type: string
REBUILD_DATE:
required: false
type: string
DRY_RUN:
required: false
default: "false"
type: string
repository_dispatch:
types: [build-docker-images]
env:
LUCEE_VERSION: ${{ github.event.inputs.LUCEE_VERSION }}
REBUILD_DATE: ${{ github.event.inputs.REBUILD_DATE }}
DRY_RUN: ${{ github.event.inputs.DRY_RUN }}
jobs:
# Build amd64 images natively on x64 runner
build-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.9.0
with:
buildkitd-config: .github/buildkitd.toml
- name: Setup Python v3
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Login to Docker Hub
uses: docker/login-action@v3.3.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Copy repository_dispatch event clientpayload to ENV
if: ${{ github.event_name == 'repository_dispatch' }}
run: |
echo "LUCEE_VERSION=${{ github.event.client_payload.LUCEE_VERSION }}" >> $GITHUB_ENV
echo "BRANCH=${{ github.event.client_payload.BRANCH }}" >> $GITHUB_ENV
- name: Setup env
run: |
echo LUCEE_VERSION: $LUCEE_VERSION
pip3 install -r requirements.txt
python3 ./generate-matrix.py >/dev/null && git diff --exit-code
- name: Build [JRE21, Tomcat 11]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "11.0"
TOMCAT_JAVA_VERSION: jre21-temurin-noble
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.2,7.0"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light,-zero"
- name: Build [JDK21, Tomcat 11]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "11.0"
TOMCAT_JAVA_VERSION: jdk21-temurin-noble
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.2,7.0"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ""
- name: Build [JRE21, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre21-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JRE11, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre11-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JRE8, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre8-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JDK21, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk21-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JDK11, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk11-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JDK8, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk8-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
- name: Build [JDK11, Tomcat 9.0, Ubuntu 20.04]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk11-temurin-focal
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
- name: Build [JDK8, Tomcat 9.0, Ubuntu 20.04]
run: python3 -u build-images.py --arch-suffix="-amd64" --buildx-platform linux/amd64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk8-temurin-focal
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
# Build arm64 images natively on arm64 runner
build-arm64:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.9.0
with:
buildkitd-config: .github/buildkitd.toml
- name: Setup Python v3
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Login to Docker Hub
uses: docker/login-action@v3.3.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Copy repository_dispatch event clientpayload to ENV
if: ${{ github.event_name == 'repository_dispatch' }}
run: |
echo "LUCEE_VERSION=${{ github.event.client_payload.LUCEE_VERSION }}" >> $GITHUB_ENV
echo "BRANCH=${{ github.event.client_payload.BRANCH }}" >> $GITHUB_ENV
- name: Setup env
run: |
echo LUCEE_VERSION: $LUCEE_VERSION
pip3 install -r requirements.txt
python3 ./generate-matrix.py >/dev/null && git diff --exit-code
- name: Build [JRE21, Tomcat 11]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "11.0"
TOMCAT_JAVA_VERSION: jre21-temurin-noble
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.2,7.0"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light,-zero"
- name: Build [JDK21, Tomcat 11]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "11.0"
TOMCAT_JAVA_VERSION: jdk21-temurin-noble
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.2,7.0"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ""
- name: Build [JRE21, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre21-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JRE11, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre11-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JRE8, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre8-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JDK21, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk21-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JDK11, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk11-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Build [JDK8, Tomcat 9.0]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk8-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
- name: Build [JDK11, Tomcat 9.0, Ubuntu 20.04]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk11-temurin-focal
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
- name: Build [JDK8, Tomcat 9.0, Ubuntu 20.04]
run: python3 -u build-images.py --arch-suffix="-arm64" --buildx-platform linux/arm64
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk8-temurin-focal
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
# Create and push multi-arch manifests
create-manifests:
needs: [build-amd64, build-arm64]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python v3
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Login to Docker Hub
uses: docker/login-action@v3.3.0
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Copy repository_dispatch event clientpayload to ENV
if: ${{ github.event_name == 'repository_dispatch' }}
run: |
echo "LUCEE_VERSION=${{ github.event.client_payload.LUCEE_VERSION }}" >> $GITHUB_ENV
echo "BRANCH=${{ github.event.client_payload.BRANCH }}" >> $GITHUB_ENV
- name: Setup env
run: |
pip3 install -r requirements.txt
- name: Create manifests [JRE21, Tomcat 11]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "11.0"
TOMCAT_JAVA_VERSION: jre21-temurin-noble
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.2,7.0"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light,-zero"
- name: Create manifests [JDK21, Tomcat 11]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "11.0"
TOMCAT_JAVA_VERSION: jdk21-temurin-noble
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.2,7.0"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ""
- name: Create manifests [JRE21, Tomcat 9.0]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre21-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Create manifests [JRE11, Tomcat 9.0]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre11-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Create manifests [JRE8, Tomcat 9.0]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jre8-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Create manifests [JDK21, Tomcat 9.0]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk21-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Create manifests [JDK11, Tomcat 9.0]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk11-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
- name: Create manifests [JDK8, Tomcat 9.0]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk8-temurin-jammy
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
- name: Create manifests [JDK11, Tomcat 9.0, Ubuntu 20.04]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk11-temurin-focal
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4,6.0,6.1"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true
- name: Create manifests [JDK8, Tomcat 9.0, Ubuntu 20.04]
run: python3 -u build-images.py --create-manifests
env:
TOMCAT_VERSION: "9.0"
TOMCAT_JAVA_VERSION: jdk8-temurin-focal
TOMCAT_BASE_IMAGE: ""
LUCEE_MINOR: "5.3,5.4"
LUCEE_SERVER: ",-nginx"
LUCEE_VARIANTS: ",-light"
SKIP_SNAPSHOTS: true