Skip to content

Commit 5ed36b3

Browse files
milanmajchrakMilan Majchrákclaude
authored
build: pull dspace-dependencies from dataquest, not upstream (#1372)
The v9 Dockerfiles still pull vanilla's dspace/dspace-dependencies:dspace-9_x, so the dataquest/dspace-dependencies image our own CI publishes is never consumed and three jobs are serialised behind a build whose output is thrown away. dtq-dev has always pulled dataquest/dspace-dependencies:dspace-7_x. Worse, upstream's dspace-9_x tag is a moving target and has already drifted away from us: it is now 9.4-SNAPSHOT pinning maven-enforcer-plugin 3.6.3, while this branch is 9.3 pinning 3.6.2. So its Maven cache never matches our POMs, every build re-resolves from Maven Central, and Central intermittently answers 403 -- that is what failed the first dspace build on #1367 (died in 0.7s on maven-enforcer-plugin:3.6.2, while dspace-test and dspace-cli, same image and same second, built through fine). The drift only widens as vanilla moves toward 9.4. Point the base image at our own dependencies image, tagged with the branch name because non-default branches are tagged type=ref,event=branch by the reusable workflow. The dspace-dependencies job builds from this branch's POMs, so enforcer 3.6.2 is cached and no Central round-trip is needed. Ordering: on push, needs: dspace-dependencies guarantees the dependencies image is built AND pushed before any job pulls it, so the branch bootstraps itself. PR builds reuse the last pushed image (as on dtq-dev). This therefore requires #1367 to be merged first, so that the first push publishes dataquest/dspace-dependencies:dtq-dev-9-base. Note local builds now need that image too: docker pull dataquest/dspace-dependencies:dtq-dev-9-base (or override with --build-arg DSPACE_VERSION=...), same as on dtq-dev. Co-authored-by: Milan Majchrák <minptai7@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent c40c5c6 commit 5ed36b3

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
88
ARG JDK_VERSION=17
99
# The Docker version tag to build from
10-
ARG DSPACE_VERSION=dspace-9_x
10+
ARG DSPACE_VERSION=dtq-dev-9-base
1111
# The Docker registry to use for DSpace images. Defaults to "docker.io"
1212
# NOTE: non-DSpace images are hardcoded to use "docker.io" and are not impacted by this build argument
1313
ARG DOCKER_REGISTRY=docker.io
1414

1515
# Step 1 - Run Maven Build
16-
FROM ${DOCKER_REGISTRY}/dspace/dspace-dependencies:${DSPACE_VERSION} AS build
16+
FROM ${DOCKER_REGISTRY}/dataquest/dspace-dependencies:${DSPACE_VERSION} AS build
1717
ARG TARGET_DIR=dspace-installer
1818
WORKDIR /app
1919
# The dspace-installer directory will be written to /install

Dockerfile.cli

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
88
ARG JDK_VERSION=17
99
# The Docker version tag to build from
10-
ARG DSPACE_VERSION=dspace-9_x
10+
ARG DSPACE_VERSION=dtq-dev-9-base
1111
# The Docker registry to use for DSpace images. Defaults to "docker.io"
1212
# NOTE: non-DSpace images are hardcoded to use "docker.io" and are not impacted by this build argument
1313
ARG DOCKER_REGISTRY=docker.io
1414

1515
# Step 1 - Run Maven Build
16-
FROM ${DOCKER_REGISTRY}/dspace/dspace-dependencies:${DSPACE_VERSION} AS build
16+
FROM ${DOCKER_REGISTRY}/dataquest/dspace-dependencies:${DSPACE_VERSION} AS build
1717
ARG TARGET_DIR=dspace-installer
1818
WORKDIR /app
1919
# The dspace-installer directory will be written to /install

Dockerfile.test

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
# To build with other versions, use "--build-arg JDK_VERSION=[value]"
1010
ARG JDK_VERSION=17
1111
# The Docker version tag to build from
12-
ARG DSPACE_VERSION=dspace-9_x
12+
ARG DSPACE_VERSION=dtq-dev-9-base
1313
# The Docker registry to use for DSpace images. Defaults to "docker.io"
1414
# NOTE: non-DSpace images are hardcoded to use "docker.io" and are not impacted by this build argument
1515
ARG DOCKER_REGISTRY=docker.io
1616

1717
# Step 1 - Run Maven Build
18-
FROM ${DOCKER_REGISTRY}/dspace/dspace-dependencies:${DSPACE_VERSION} AS build
18+
FROM ${DOCKER_REGISTRY}/dataquest/dspace-dependencies:${DSPACE_VERSION} AS build
1919
ARG TARGET_DIR=dspace-installer
2020
WORKDIR /app
2121
# The dspace-installer directory will be written to /install

0 commit comments

Comments
 (0)