Use Java 21 on RHEL 10 #121
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build LDAP SDK | |
on: [push, pull_request] | |
env: | |
BASE_IMAGE: ${{ vars.BASE_IMAGE || 'registry.fedoraproject.org/fedora:40' }} | |
COPR_REPO: ${{ vars.COPR_REPO }} | |
NAMESPACE: ${{ vars.REGISTRY_NAMESPACE || 'dogtagpki' }} | |
jobs: | |
build: | |
name: Building LDAP SDK | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Update Dockerfile | |
run: | | |
# update registry namespace | |
sed -i "s/quay.io\/dogtagpki\//quay.io\/$NAMESPACE\//g" Dockerfile | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Cache Docker layers | |
id: cache-buildx | |
uses: actions/cache@v4 | |
with: | |
key: buildx-${{ hashFiles('ldapjdk.spec') }} | |
path: /tmp/.buildx-cache | |
- name: Build ldapjdk-deps image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: ldapjdk-deps | |
target: ldapjdk-deps | |
cache-to: type=local,dest=/tmp/.buildx-cache | |
if: steps.cache-buildx.outputs.cache-hit != 'true' | |
- name: Build ldapjdk-builder-deps image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: ldapjdk-builder-deps | |
target: ldapjdk-builder-deps | |
cache-to: type=local,dest=/tmp/.buildx-cache | |
if: steps.cache-buildx.outputs.cache-hit != 'true' | |
- name: Build ldapjdk-builder image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: ldapjdk-builder | |
target: ldapjdk-builder | |
cache-from: type=local,src=/tmp/.buildx-cache | |
outputs: type=docker | |
- name: Build ldapjdk-dist image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: ldapjdk-dist | |
target: ldapjdk-dist | |
cache-from: type=local,src=/tmp/.buildx-cache | |
outputs: type=docker | |
- name: Build ldapjdk-runner image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: | | |
BASE_IMAGE=${{ env.BASE_IMAGE }} | |
COPR_REPO=${{ env.COPR_REPO }} | |
tags: ldapjdk-runner | |
target: ldapjdk-runner | |
cache-from: type=local,src=/tmp/.buildx-cache | |
outputs: type=docker | |
- name: Save LDAP SDK images | |
run: | | |
docker images | |
docker save -o ldapjdk-images.tar ldapjdk-builder ldapjdk-dist ldapjdk-runner | |
- name: Store LDAP SDK images | |
uses: actions/cache@v4 | |
with: | |
key: ldapjdk-images-${{ github.sha }} | |
path: ldapjdk-images.tar |