Skip to content

Expose buildVersion (deployed-version info) on REST root (#813) - #1416

Merged
milanmajchrak merged 2 commits into
customer/TULfrom
deployed-version-info/TUL
Aug 26, 2026
Merged

Expose buildVersion (deployed-version info) on REST root (#813)#1416
milanmajchrak merged 2 commits into
customer/TULfrom
deployed-version-info/TUL

Conversation

@Kasinhou

Copy link
Copy Markdown

What & why (issue #813)

Expose which commit is currently deployed as buildVersion on the REST root endpoint (/server/api), matching dtq-dev. This branch had none of it.

Changes

  • scripts/sourceversion.py — generates dspace/config/VERSION_D.txt (git hash, commit date, build run) at Docker build time.
  • .github/workflows/docker.yml — new Add version step runs the script before the image build.
  • dspace/config/clarin-dspace.cfgbuild.version.file.path points at the generated file.
  • RootConverter reads the file into RootRest.buildVersion; RootRest gains the buildVersion field (getter/setter, equals/hashCode).
  • dspace/config/VERSION_D.txt — empty placeholder (overwritten at build).

Verification

  • dspace-server-webapp compiles.
  • buildVersion appears on GET /server/api (empty until the file is generated by CI).

🤖 Generated with Claude Code

Port the deployed-commit info feature from dtq-dev so the backend reports which
commit is currently deployed via `buildVersion` on the REST root endpoint
(/server/api):
- scripts/sourceversion.py generates dspace/config/VERSION_D.txt (git hash,
  commit date, build-run link) at Docker build time.
- .github/workflows/docker.yml runs the version script before the image build.
- clarin-dspace.cfg: build.version.file.path points at the generated file.
- RootConverter reads that file and sets RootRest.buildVersion; RootRest gets the
  buildVersion field (getter/setter, equals/hashCode).
- dspace/config/VERSION_D.txt committed as an empty placeholder (overwritten at build).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Kasinhou Kasinhou self-assigned this Aug 21, 2026
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds deployed build metadata to the REST root endpoint as buildVersion.

Changes:

  • Generates version metadata during Docker builds.
  • Configures and reads the generated version file.
  • Exposes buildVersion through RootRest.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Summary
scripts/sourceversion.py Generates build metadata.
dspace/config/VERSION_D.txt Provides an empty placeholder.
dspace/config/clarin-dspace.cfg Configures the version file path.
dspace-server-webapp/src/main/java/org/dspace/app/rest/model/RootRest.java Adds the buildVersion field.
dspace-server-webapp/src/main/java/org/dspace/app/rest/converter/RootConverter.java Reads and exposes build metadata. Two moderate findings: close readers with try-with-resources and add coverage for configured, missing, and empty files.
.github/workflows/docker.yml Generates version metadata before image builds.
Suppressed comments (1)

dspace-server-webapp/src/main/java/org/dspace/app/rest/converter/RootConverter.java:61

  • readLine() removes each line separator, and the loop never restores one, so the generated value becomes ...+0200Git hash: ... and any multi-line metadata is ambiguously concatenated. Preserve a separator when appending each line so the exposed build information remains readable.
            while ((line = bufferedReader.readLine()) != null) {
                buildVersion.append(line);

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Kasinhou
Kasinhou requested a review from milanmajchrak August 24, 2026 11:33
@milanmajchrak
milanmajchrak merged commit a8ed732 into customer/TUL Aug 26, 2026
6 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants