Skip to content

Issue #5920: Fetch dynamic field object type correctly. #2552

Issue #5920: Fetch dynamic field object type correctly.

Issue #5920: Fetch dynamic field object type correctly. #2552

%YAML 1.1
---
# As of 2026-06-24 the branch rel-11_1 has become the new default branch.
# Only the workflow on the default branch is used for the actions that are triggered by "push".
# Workflow for building devel Docker images and pushing them to Docker hub.
# See docker_image_builder_rel.yml for the workflow that builds
# the release Docker images.
name: 'DockerImageBuilderDevel'
on:
# Build a devel Docker image whenever there is a push into the listed branches.
push:
branches:
- rel-10_0
- rel-10_1
- rel-11_0
- rel-11_1
jobs:
BuildDockerImage:
runs-on: 'ubuntu-latest'
strategy:
# create different images
# note that there no Docker image is built for the otobo-web-kerberos target
matrix:
target: [ 'otobo-web', 'otobo-elasticsearch', 'otobo-nginx-webproxy', 'otobo-nginx-kerberos-webproxy', 'otobo-selenium-chrome' ]
tag_prefix: [ 'devel-' ]
include:
-
target: 'otobo-web'
dockerfile: 'otobo.web.dockerfile'
context: '.'
repository: 'rotheross/otobo'
-
target: 'otobo-elasticsearch'
dockerfile: 'otobo.elasticsearch.dockerfile'
context: 'scripts/elasticsearch'
repository: 'rotheross/otobo-elasticsearch'
-
target: 'otobo-nginx-webproxy'
dockerfile: 'otobo.nginx.dockerfile'
context: 'scripts/nginx'
repository: 'rotheross/otobo-nginx-webproxy'
-
target: 'otobo-nginx-kerberos-webproxy'
dockerfile: 'otobo.nginx.dockerfile'
context: 'scripts/nginx'
repository: 'rotheross/otobo-nginx-kerberos-webproxy'
-
target: 'otobo-selenium-chrome'
dockerfile: 'otobo.selenium-chrome.dockerfile'
context: 'scripts/test/sample'
repository: 'rotheross/otobo-selenium-chrome'
steps:
-
# Store some variables in an environment file so that
# they can be used in the later steps.
name: Setup
run: |
branch="${{ github.ref_name }}" # e.g rel-10_0
docker_tag="${{ matrix.tag_prefix }}$branch"
build_date=$(date -u +'%Y-%m-%dT%H:%M:%SZ')
(
echo "otobo_branch=$branch"
echo "otobo_docker_tag=$docker_tag"
echo "otobo_ref=${{ matrix.repository }}:$docker_tag"
echo "otobo_build_date=$build_date"
echo "otobo_commit=${{ github.sha }}"
) >> $GITHUB_ENV
-
# the name of the Dockerfile might depend on the branch
# there is a special case for rel-10_0 and rel-10_1
name: Get the name of the Dockerfile
id: get-dockerfile
run: |
echo "dockerfile=${{ (matrix.target == 'otobo-nginx-kerberos-webproxy' && startsWith(github.ref_name, 'rel-10')) && 'otobo.nginx-kerberos.dockerfile' || matrix.dockerfile }}" >> $GITHUB_OUTPUT
- name: 'check out the relevant OTOBO branch'
uses: actions/checkout@v6
-
# check whether an devel image must be built
uses: dorny/paths-filter@v4
id: has-changes
with:
base: "${{ github.ref_name }}" # e.g rel-10_0
filters: |
context_and_dockerfile:
- '${{ matrix.context }}/**'
- '${{ steps.get-dockerfile.outputs.dockerfile }}'
-
# login to Docker Hub before the composite action
# this avoids that secrets have to be passed
name: Login to Docker Hub
if: steps.has-changes.outputs.context_and_dockerfile == 'true'
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
# Uses a local composite action.
# The repository must already be checked out.
name: 'Run local composite action'
if: steps.has-changes.outputs.context_and_dockerfile == 'true'
uses: ./.github/actions/docker_image_builder
with:
dockerfile: ${{ steps.get-dockerfile.outputs.dockerfile }}
context: ${{ matrix.context }}
target: ${{ matrix.target }}
dockerhub_tags: ${{ env.otobo_ref }}