From d6a3fb972046837e872240fd98dab5a9b8b9dfd5 Mon Sep 17 00:00:00 2001 From: Petro Kurbatskyi <67897517+ibexa-yuna@users.noreply.github.com> Date: Wed, 30 Jul 2025 22:07:11 +0200 Subject: [PATCH 1/5] Create docker.yaml --- .github/workflows/docker.yaml | 55 +++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .github/workflows/docker.yaml diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml new file mode 100644 index 00000000..db4967ee --- /dev/null +++ b/.github/workflows/docker.yaml @@ -0,0 +1,55 @@ +name: Build & Push to GHCR + +on: + workflow_dispatch: + push: + tags: + - 'v*' + - '!v*-alpha*' + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout source + uses: actions/checkout@v5 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract version & image name + id: vars + run: | + raw_tag=${GITHUB_REF#refs/tags/} # e.g. v1.4.0 + version=${raw_tag#v} # e.g. 1.4.0 + image_repo="ghcr.io/${GITHUB_REPOSITORY,,}" + echo "raw_tag=$raw_tag" >> "$GITHUB_OUTPUT" + echo "version=$version" >> "$GITHUB_OUTPUT" + echo "image_repo=$image_repo" >> "$GITHUB_OUTPUT" + + - name: Build & push image + uses: docker/build-push-action@v5 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: | + ${{ steps.vars.outputs.image_repo }}:${{ steps.vars.outputs.version }} + ${{ steps.vars.outputs.image_repo }}:${{ steps.vars.outputs.raw_tag }} + ${{ steps.vars.outputs.image_repo }}:latest + cache-from: type=gha + cache-to: type=gha,mode=max From 7964be48a974053f76cd068d59c1352ef383259d Mon Sep 17 00:00:00 2001 From: Petro Kurbatskyi <67897517+ibexa-yuna@users.noreply.github.com> Date: Wed, 30 Jul 2025 22:07:41 +0200 Subject: [PATCH 2/5] Create Dockerfile --- Dockerfile | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..315fd8d8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# syntax=docker/dockerfile:1 +FROM solr:8.11.2 + +USER root +ENV IBEXA_TEMPLATE_DIR=/opt/solr/server/ibexa/template + +RUN mkdir -p ${IBEXA_TEMPLATE_DIR} +COPY src/lib/Resources/config/solr/ ${IBEXA_TEMPLATE_DIR}/ + +RUN set -eux; \ + mkdir -p /opt/solr/server/ibexa; \ + for f in solrconfig.xml stopwords.txt synonyms.txt; do \ + cp /opt/solr/server/solr/configsets/_default/conf/$f ${IBEXA_TEMPLATE_DIR}/; \ + done; \ + cp /opt/solr/server/solr/solr.xml /opt/solr/server/ibexa/ + +RUN sed -i.bak '//d' \ + ${IBEXA_TEMPLATE_DIR}/solrconfig.xml \ + && sed -i '//,/<\/autoSoftCommit>/c\\n ${solr.autoSoftCommit.maxTime:20}\n' \ + ${IBEXA_TEMPLATE_DIR}/solrconfig.xml + + +USER solr +ENV SOLR_CORE=collection1 +CMD ["bash", "-c", "solr-precreate \"$SOLR_CORE\" \"$IBEXA_TEMPLATE_DIR\""] From 0f4395cfe5f7fd5672b9a0d3bfd8a522a8bb49f0 Mon Sep 17 00:00:00 2001 From: Petro Kurbatskyi <67897517+ibexa-yuna@users.noreply.github.com> Date: Wed, 30 Jul 2025 22:08:26 +0200 Subject: [PATCH 3/5] Update docker.yaml --- .github/workflows/docker.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index db4967ee..027581d2 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -3,9 +3,9 @@ name: Build & Push to GHCR on: workflow_dispatch: push: - tags: - - 'v*' - - '!v*-alpha*' + # tags: + # - 'v*' + # - '!v*-alpha*' jobs: build: From 3fd8a49d6a43188103d3f357ee0d49959915eeeb Mon Sep 17 00:00:00 2001 From: Petro Kurbatskyi <67897517+ibexa-yuna@users.noreply.github.com> Date: Wed, 30 Jul 2025 22:08:43 +0200 Subject: [PATCH 4/5] Update docker.yaml --- .github/workflows/docker.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 027581d2..9c87fe6d 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout source - uses: actions/checkout@v5 + uses: actions/checkout@v4 - name: Set up QEMU uses: docker/setup-qemu-action@v3 From efc6b0e1f6c677dff7b358118a57ff34559ef6c4 Mon Sep 17 00:00:00 2001 From: Petro Kurbatskyi <67897517+ibexa-yuna@users.noreply.github.com> Date: Wed, 30 Jul 2025 22:10:42 +0200 Subject: [PATCH 5/5] Update docker.yaml --- .github/workflows/docker.yaml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 9c87fe6d..7a7ca209 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -34,8 +34,18 @@ jobs: - name: Extract version & image name id: vars run: | - raw_tag=${GITHUB_REF#refs/tags/} # e.g. v1.4.0 - version=${raw_tag#v} # e.g. 1.4.0 + if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then + raw_tag="${GITHUB_REF#refs/tags/}" + version="${raw_tag#v}" + else + # ----- Branch / PR fallback ----- + branch="${GITHUB_REF#refs/heads/}" + # Replace / and uppercase chars with safe lowercase dashes + safe_branch=$(echo "$branch" | tr '[:upper:]/' '[:lower:]-') + sha=${GITHUB_SHA::8} + raw_tag="${safe_branch}-${sha}" + version="$raw_tag" + fi image_repo="ghcr.io/${GITHUB_REPOSITORY,,}" echo "raw_tag=$raw_tag" >> "$GITHUB_OUTPUT" echo "version=$version" >> "$GITHUB_OUTPUT"