Skip to content

bring in matrix builds from Hyku structure#98

Merged
aprilrieger merged 13 commits intomainfrom
enter_the_matrix
Apr 7, 2026
Merged

bring in matrix builds from Hyku structure#98
aprilrieger merged 13 commits intomainfrom
enter_the_matrix

Conversation

@orangewolf
Copy link
Copy Markdown
Contributor

Ref ticket https://github.com/notch8/dev-ops/issues/919

This provides faster overall builds, unlocks the arm based GitHub runners and uses fewer inputs to still get more possible combinations.

setup-env sets REPO_LOWER but not IMAGE_NAME; empty IMAGE_NAME produced
invalid ghcr.io//component:tag references. Align per-arch push tags and
cache-from with the same lowercase repo path.

Made-with: Cursor
@aprilrieger
Copy link
Copy Markdown
Member

Steps to bring forward to knapsacks:

  1. symblink the solr dir from submodule for Dockerfile build support ln -s hyrax-webapp/solr solr
  2. Add solr block to root Dockefile from hyrax-webapp
# Use a Solr version with patched Log4j to address CVE-2021-44228
FROM solr:8.11.2 AS hyku-solr
ENV SOLR_USER="solr" \
    SOLR_GROUP="solr"
USER root
COPY --chown=solr:solr solr/security.json /var/solr/data/security.json
USER $SOLR_USER

Example workflow: notch8/hykuup_knapsack#674

name: "Build Test Lint"
run-name: Build Test Lint of ${{ github.ref_name }} by @${{ github.actor }}

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
  workflow_dispatch:
    inputs:
      debug_step:
        required: false
        description: "Pause the selected step to debug using tmate"
        type: choice
        default: ""
        options:
          - ""
          - build
          - test
          - lint

env:
  REGISTRY: ghcr.io
  DOCKER_BUILDKIT: 1
  COMPOSE_DOCKER_CLI_BUILD: 1

jobs:
  build:
    permissions: write-all
    uses: notch8/actions/.github/workflows/build.yaml@enter_the_matrix
    secrets: inherit
    with:
      components: '["hyku-web","hyku-worker","hyku-solr"]'
      debug_step: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_step || '' }}

  lint:
    needs: build
    uses: notch8/actions/.github/workflows/lint.yaml@v1.0.6
    with:
      webTarget: hyku-web
      workerTarget: hyku-worker
      rubocop_cmd: "bundle exec rubocop --parallel --format progress"

  test:
    needs: build
    uses: notch8/actions/.github/workflows/test.yaml@v1.0.6
    with:
      confdir: "/app/samvera/hyrax-webapp/solr/conf"
      rspec_cmd: "gem install semaphore_test_boosters && bundle && rspec_booster --job $CI_NODE_INDEX/$CI_NODE_TOTAL"

  reports:
    if: always()
    needs: [test, lint]
    uses: notch8/actions/.github/workflows/report.yaml@v1.0.6

@aprilrieger aprilrieger marked this pull request as ready for review April 7, 2026 07:01
Copy link
Copy Markdown
Member

@aprilrieger aprilrieger left a comment

Choose a reason for hiding this comment

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

Thank you Rob!

@aprilrieger
Copy link
Copy Markdown
Member

Checklist for merge:

  • update the version
  • publish release

@aprilrieger aprilrieger merged commit c01a69a into main Apr 7, 2026
1 check 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.

2 participants