Skip to content

Conversation

@Alexander-Cairns
Copy link
Contributor

@Alexander-Cairns Alexander-Cairns commented Aug 29, 2025

Summary by CodeRabbit

  • New Features
    • Added a manual image rebuild trigger with environment selection (dev/prod).
    • Expanded pull request builds to include an additional release branch.
  • Chores
    • Upgraded reusable build workflows to the latest major version.
    • Enabled publishing to package registries in build pipelines.
    • Enhanced container build with OS/architecture-aware tooling and bundled yq utility.
    • Introduced a new environment variable for Solr installation and updated plugin path accordingly.
    • Added build arguments to improve cross-platform image builds.

@Alexander-Cairns Alexander-Cairns added the minor Added functionality that is backwards compatible. label Aug 29, 2025
@coderabbitai
Copy link

coderabbitai bot commented Aug 29, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

Updates GitHub Actions workflows: add packages: write permission, extend branch triggers, enable manual dispatch with env input, and bump reusable workflow to v2. Dockerfile gains TARGETOS and YQ_VERSION args, introduces SOLR_INSTALL env, updates HOCR plugin path, and installs yq binaries using TARGETOS/TARGETARCH.

Changes

Cohort / File(s) Summary of Changes
GHA permissions updates
.github/workflows/auto-semver.yml, .github/workflows/build-image-from-tag-push.yml, .github/workflows/rebuild-image.yml
Add permissions: packages: write (auto-semver: job-level; others: workflow-level).
GHA workflow triggers and references
.github/workflows/build-image-from-tag-push.yml
on.pull_request.branches expanded to main, v2. Reusable workflow bumped from @v1 to @v2.
Rebuild workflow enhancements
.github/workflows/rebuild-image.yml
Add workflow_dispatch with env input (dev/prod, default prod). Pass with.image-name: ${{ vars.DOCKER_IMAGE_NAME }}. Reusable workflow bumped to @v2.
Dockerfile build arguments and tooling
Dockerfile
Add ARG TARGETOS, ARG YQ_VERSION=v4.47.1. Install yq to /usr/local/bin/yq using TARGETOS/TARGETARCH (two install steps).
Dockerfile environment/path updates
Dockerfile
Add ENV SOLR_INSTALL=/opt/solr. Update ENV SOLR_HOCR_PLUGIN_PATH to ${SOLR_INSTALL}/contrib/ocrhighlighting/lib (replacing ${SOLR_HOME}...).

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor Dev as Developer
  participant GH as GitHub Actions
  participant Reuse as Reusable WF (v2)
  participant Reg as Container Registry

  Dev->>GH: Push tag / PR to main or v2
  GH->>GH: Evaluate triggers and permissions (packages: write)
  GH->>Reuse: Invoke build-image workflow @v2
  Reuse->>Reg: Authenticate and push image (needs packages: write)
  Reuse-->>GH: Report status
Loading
sequenceDiagram
  autonumber
  actor Ops as Operator
  participant GH as GitHub Actions
  participant Rebuild as Rebuild WF (v2)
  participant Reg as Container Registry

  Ops->>GH: workflow_dispatch (env: dev|prod, default prod)
  GH->>Rebuild: Run with inputs and image-name = vars.DOCKER_IMAGE_NAME
  Rebuild->>Reg: Build and push image (packages: write)
  Rebuild-->>GH: Completion status
Loading
sequenceDiagram
  autonumber
  participant Build as Docker Build
  participant Net as Network
  participant FS as Filesystem

  Build->>Build: ARG TARGETOS, TARGETARCH, YQ_VERSION
  Build->>Net: Download yq for TARGETOS/TARGETARCH
  Net-->>FS: yq binary
  Build->>FS: Install /usr/local/bin/yq
  Build->>Build: ENV SOLR_INSTALL=/opt/solr
  Build->>Build: Set SOLR_HOCR_PLUGIN_PATH=${SOLR_INSTALL}/contrib/ocrhighlighting/lib
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Poem

I nudge the gears with gentle might,
New tags awake and branches light;
With v2 winds our builds take flight,
yq in paw, I test at night—
SOLR burrows set just right.
Hop, push, ship: a tidy sight. 🐇🚀

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch FDSF4-229

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@Alexander-Cairns Alexander-Cairns changed the base branch from main to v2 August 29, 2025 14:13
Copy link
Contributor

@adam-vessey adam-vessey left a comment

Choose a reason for hiding this comment

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

No longer really reflects expectations from discoverygarden/solr-image#15

Should possibly be something like the full ${solr.hocr.plugin.path:/opt/solr_extra_lib/ocrhighlighting/lib} bit, without interpolating ('til Solr makes use of things, anyway).

@Alexander-Cairns
Copy link
Contributor Author

No longer really reflects expectations from discoverygarden/solr-image#15

Should possibly be something like the full ${solr.hocr.plugin.path:/opt/solr_extra_lib/ocrhighlighting/lib} bit, without interpolating ('til Solr makes use of things, anyway).

Fixed 569f250

@Alexander-Cairns Alexander-Cairns merged commit 74423bc into v2 Sep 3, 2025
2 checks passed
@Alexander-Cairns Alexander-Cairns deleted the FDSF4-229 branch September 3, 2025 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

minor Added functionality that is backwards compatible.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants