Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
9152c15
upgrade hyrax to 4.0 (tests fail atm)
rococodogs Oct 16, 2025
0525cc3
introduce hyrax_valkyrie matrix to github actions
rococodogs Oct 16, 2025
6d64847
ruby to 3.2.9
rococodogs Oct 17, 2025
b1a23e5
fix js/css assets
rococodogs Oct 17, 2025
2616be7
add valkyrie status to gh test name
rococodogs Oct 17, 2025
a8a04cf
hyrax to 5.2.0
rococodogs Oct 21, 2025
12ae27e
bundle update
rococodogs Oct 21, 2025
f8f96c3
controller specs pass
rococodogs Oct 21, 2025
bce2b0a
copy over some valkyrie work to use query service
jwellnit Oct 22, 2025
8d42252
quick and dirty postresql upgrade
jwellnit Oct 27, 2025
7c7cc4a
github actions was looking for 13, that was the problem
jwellnit Oct 27, 2025
d2dbb23
reconstitute action from dockerfile
jwellnit Oct 27, 2025
30ae765
maybe unlock the version?
jwellnit Oct 27, 2025
0cfe210
remove valkyrization
jwellnit Oct 27, 2025
f0aaeb3
undo remove valkyrization (:
jwellnit Oct 27, 2025
bea510d
factories
jwellnit Oct 28, 2025
38adf05
work_metadata_exporter
jwellnit Oct 28, 2025
e6a26a3
rdf upgrade
jwellnit Oct 28, 2025
609649d
partial fix for workflow
jwellnit Oct 30, 2025
e66c373
should be all services but handle
jwellnit Oct 30, 2025
e89bf51
rubo
jwellnit Oct 30, 2025
4ef76ed
use hdl.handle.net for handle service specs
rococodogs Oct 31, 2025
7af1860
fix call to deprecated gid method
jwellnit Nov 4, 2025
9050d44
drop reindex_extent
jwellnit Nov 4, 2025
4c2cde5
fix controlled vocab models
jwellnit Nov 4, 2025
4fb639c
development host and minor feature spec fixes
jwellnit Nov 5, 2025
9bb3b61
pull 'require's from app/spec files
rococodogs Nov 4, 2025
0123240
some hyrax defaults
rococodogs Nov 4, 2025
27e9b7b
wip test work
rococodogs Nov 4, 2025
41e7e36
rubo
jwellnit Nov 5, 2025
54d003a
tie host to env
jwellnit Nov 5, 2025
5c4982b
patches for passing tests (#1196)
rococodogs Nov 5, 2025
54b232c
add host to rails from environment
rococodogs Nov 7, 2025
6a00c69
update views
rococodogs Nov 10, 2025
d80cf0e
add example.com host to test environment + skip wds tests for now
rococodogs Nov 10, 2025
8fa4dcb
minor admin set fix
jwellnit Nov 11, 2025
15f466e
small index and admin fixes
jwellnit Nov 13, 2025
c226cfd
several fixes
jwellnit Nov 14, 2025
0ffabe1
specs
jwellnit Nov 17, 2025
8b058a9
rubo
jwellnit Nov 18, 2025
2b18b4d
move hyrax/dashboard_controller additions to a decorator
rococodogs Nov 10, 2025
55d2d85
fix Blacklight not defined error
rococodogs Nov 14, 2025
0481289
form css work
rococodogs Nov 14, 2025
fcedaaa
views catchup
rococodogs Nov 17, 2025
e22b763
work view layout (panels are cards now)
rococodogs Nov 17, 2025
5584250
export tools refactor
rococodogs Nov 17, 2025
da98694
tests passing locally
rococodogs Nov 20, 2025
ae02169
update simplecov-cobertura to latest major version
rococodogs Nov 20, 2025
6a0ce24
link instead of button to log out
rococodogs Dec 5, 2025
0b3201c
mini-magick fix
jwellnit Nov 24, 2025
a2cbb8c
imported fixes from valkyrie legacy
jwellnit Dec 1, 2025
ebae191
revert output file service to hyraxx:persistderivatives
jwellnit Dec 2, 2025
121faba
rubo
jwellnit Dec 2, 2025
d90deab
restore uri method
jwellnit Dec 2, 2025
9d10ce3
more rubo
jwellnit Dec 2, 2025
6235e9d
extra documentation
jwellnit Dec 3, 2025
5773fbb
new/edit collection view fixes
jwellnit Dec 4, 2025
daa7c2a
Hyrax 5 bulkrax fixes (#1202)
jwellnit Feb 2, 2026
acf97a0
reconstitute old changes
jwellnit Feb 2, 2026
681e309
rubo
jwellnit Feb 2, 2026
5fb7220
make non class methods
jwellnit Feb 3, 2026
66cf2fa
old tests
jwellnit Feb 4, 2026
12d46c3
desperate flailing
jwellnit Feb 4, 2026
5ef8288
rubo
jwellnit Feb 9, 2026
1b857c5
rubo 2
jwellnit Feb 9, 2026
d9b3f81
better subject formatting
jwellnit Feb 9, 2026
996fd53
find specs run
jwellnit Feb 10, 2026
d599ef0
other specs still not running
jwellnit Feb 11, 2026
4c8a1fc
all specs pass
jwellnit Feb 13, 2026
318712d
rubo
jwellnit Feb 13, 2026
bf0dcef
nocov
jwellnit Feb 13, 2026
7582188
wip
rococodogs Feb 2, 2026
dcddcbd
components work wip
rococodogs Feb 4, 2026
68826b9
add :object to WorkForm to match ResourceForm api
rococodogs Feb 18, 2026
70a3559
add hyrax view changes
rococodogs Feb 18, 2026
a2e7a06
add comment for Spot::Forms::WorkForm#object method
rococodogs Feb 18, 2026
53433b1
wip working through jenn's list
rococodogs Feb 23, 2026
f4639fb
tabs styles are back
rococodogs Feb 25, 2026
b2ae88b
wip controlled vocab input work
rococodogs Mar 2, 2026
be3c489
small works fixes
jwellnit Mar 3, 2026
40233dc
table fix
jwellnit Mar 9, 2026
bcd59b1
mostly working collections accordian
jwellnit Mar 10, 2026
eb47e5c
fix padding on accordion
jwellnit Mar 11, 2026
52fc93d
more collections fixes
jwellnit Mar 11, 2026
c561b94
relationships table fix
jwellnit Mar 18, 2026
30b6c6b
cancel button
jwellnit Mar 19, 2026
9701896
even first rows
jwellnit Mar 23, 2026
fec405b
college songbook collection
jwellnit Mar 25, 2026
8ec3769
better use of space
jwellnit Mar 26, 2026
556d786
controlled vocab fixes
jwellnit Mar 30, 2026
5ffc747
quick build date test update
jwellnit Apr 9, 2026
dddc7ca
multi json upgrade
jwellnit Apr 13, 2026
05ff713
permission badge spec
jwellnit Apr 14, 2026
ce61f29
probably a bad way to test this
jwellnit Apr 14, 2026
75756f7
better way
jwellnit Apr 14, 2026
b32e512
add spec for permission badge view-component
rococodogs Apr 20, 2026
bf64f42
ugh rubo
rococodogs Apr 20, 2026
6415e97
pull #object method patch for ResourceForm migration
rococodogs Apr 17, 2026
1b9582d
rubooo
rococodogs Apr 17, 2026
de1d2f1
available translations test
jwellnit Apr 20, 2026
7803aeb
rubo
jwellnit Apr 20, 2026
dc26824
possible student work form test?
jwellnit Apr 20, 2026
3caf343
partial test for base resources behavior
jwellnit Apr 21, 2026
ba391ba
nocovs and removing defunct code
jwellnit Apr 21, 2026
e557721
nocoving the rescue line in embargo_lease
jwellnit Apr 22, 2026
0354d34
hyrax file set derivative test
jwellnit Apr 27, 2026
4042203
no cov
jwellnit Apr 28, 2026
4aa254a
[hyrax 5] upgrade to solr 9 (#1210)
rococodogs Jun 8, 2026
70c801e
use dev defaults for production database.yml
rococodogs Jun 10, 2026
e2cdb78
use terser instead of uglify for js minification
rococodogs Jun 10, 2026
1876b7f
File set UI fix (#1216)
jwellnit Jul 6, 2026
7eb4793
try adding vpc ip range to allowed hosts
rococodogs Jul 13, 2026
c519985
coins (#1217)
jwellnit Jul 20, 2026
d989c17
More UI fixes (#1218)
jwellnit Jul 20, 2026
f718597
extend IP mask for internal healthchecks
rococodogs Jul 20, 2026
7218eab
update github actions to latest
rococodogs Jul 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/build-container/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ runs:
echo "tag=$clean_tag" >> "$GITHUB_OUTPUT"
-
name: Build and push ${{ inputs.image_name }} container
uses: docker/build-push-action@v5
uses: docker/build-push-action@v7
with:
build-args: |
build_date="${{ steps.build_date.outputs.date }}"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ jobs:
environment: ${{ fromJson(inputs.environments) }}
service: ${{ fromJson(inputs.services) }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
-
name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v6
with:
role-to-assume: ${{ secrets.aws_role_to_assume }}
aws-region: ${{ vars.AWS_REGION }}
Expand All @@ -44,7 +44,7 @@ jobs:
uses: aws-actions/amazon-ecr-login@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v4
-
name: Get service config
id: service
Expand Down
41 changes: 23 additions & 18 deletions .github/workflows/lint-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
BUNDLE_PATH: vendor/bundle
BUNDLE_WITH: test
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- uses: ruby/setup-ruby@v1
with:
bundler-cache: true
Expand All @@ -19,13 +19,16 @@ jobs:
run: bundle exec rubocop --format github

test:
name: Test
name: "Test (Valkyrie enabled: ${{ matrix.hyrax_valkyrie_enabled }})"
runs-on: ubuntu-latest
container:
image: ruby:2.7.8-slim-bullseye
image: ruby:3.2.9-slim-bookworm
volumes:
- solr:/tmp/solr
needs: lint
strategy:
matrix:
hyrax_valkyrie_enabled: [false]
services:
database:
image: postgres:13-alpine
Expand All @@ -51,17 +54,21 @@ jobs:
ports:
- 6379:6379
solr:
image: solr:8.11.4
image: solr:9.10.1
ports:
- 8983:8983
volumes:
- solr:/var/solr/data
- solr:/var/solr
env:
SOLR_OPTS: "-Dsolr.config.lib.enabled=true -Dsolr.modules=analysis-extras"
SOLR_HOST: solr
env:
BUNDLE_PATH: vendor/bundle
BUNDLE_WITH: test
CAS_BASE_URL: ''
CI: 1
FEDORA_TEST_URL: http://fedora:8080/rest
HYRAX_VALKYRIE: ${{ matrix.hyrax_valkyrie_enabled }}
IIIF_BASE_URL: http://localhost/iiif/2
NOKOGIRI_USE_SYSTEM_LIBRARIES: true
PSQL_PASSWORD: spot_test_pw
Expand All @@ -70,31 +77,29 @@ jobs:
PSQL_HOST: database
RAILS_ENV: test
SOLR_TEST_URL: http://solr:8983/solr/spot-test
SOLR_VERSION: "8.11.4"
SOLR_VERSION: "9.10.1"
URL_HOST: http://localhost:3000

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- name: Copy Solr config to mount
run: |
mkdir -p /tmp/solr/spot-test/data
cp -r docker/solr/config/* /tmp/solr/spot-test
touch /tmp/solr/spot-test/core.properties
chown -R 8983:8983 /tmp/solr/spot-test
mkdir -p /tmp/solr/data/spot-test/data
cp -r docker/solr/config /tmp/solr/data/spot-test/conf
touch /tmp/solr/data/spot-test/core.properties
chown -R 8983:8983 /tmp/solr/data/spot-test
- name: Restart Solr service
uses: docker://docker
with:
args: docker restart ${{ job.services.solr.id }}
-
name: Install system dependencies from Dockerfile
run: |
apt-get update -y && apt-get install -y --no-install-recommends ca-certificates curl gnupg && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt-get update -y && apt-get install -y \
build-essential coreutils curl git libxml2 libxml2-dev libxslt-dev \
netcat-openbsd nodejs openssl postgresql-13 ruby-dev tzdata zip \
apt-get update -y && apt-get install -y curl && \
curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get update -y --fix-missing && apt-get install -y --no-install-recommends \
awscli build-essential coreutils cron git libpq-dev libxml2 libxml2-dev \
libxslt-dev netcat-openbsd nodejs openssl postgresql ruby-dev tzdata zip \
libasound2 libdbus-glib-1-dev libgtk-3-0 libpq-dev unzip libx11-xcb1
-
name: Setup Firefox
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7.8
3.2.9
23 changes: 10 additions & 13 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@
# !! This is a builder image. Not for general use !!
# Use this as the base image for the Rails / Sidekiq services.
##
FROM ruby:2.7.8-slim-bullseye AS spot-base
FROM ruby:3.2.9-slim-bookworm AS spot-base

RUN apt-get clean && \
apt-get update && \
apt-get install -y --no-install-recommends ca-certificates curl gnupg && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
apt-get update -y && apt-get install -y --no-install-recommends \
apt-get update -y && \
apt-get install -y curl && \
curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
apt-get update -y --fix-missing && apt-get install -y --no-install-recommends \
awscli \
build-essential \
coreutils \
Expand All @@ -24,7 +22,7 @@ RUN apt-get clean && \
netcat-openbsd \
nodejs \
openssl \
postgresql-13 \
postgresql \
ruby-dev \
tzdata \
zip
Expand All @@ -38,10 +36,9 @@ ENV HYRAX_CACHE_PATH=/spot/tmp/cache \

RUN corepack enable

COPY Gemfile.lock /spot/
COPY Gemfile Gemfile.lock /spot/
RUN gem install bundler:$(tail -n 1 Gemfile.lock | sed -e 's/\s*//')

COPY Gemfile /spot/
RUN bundle config unset with && \
bundle config unset without && \
bundle config set without "development:test" && \
Expand Down Expand Up @@ -137,14 +134,14 @@ ENV MALLOC_ARENA_MAX=2
# We don't need the entrypoint script to generate an SSL cert
ENV SKIP_SSL_CERT=true

RUN apt-get update && apt-get install -y --no-install-recommends \
bash \
RUN apt-get update -y && \
apt-get install -y \
ffmpeg \
ghostscript \
imagemagick \
libreoffice \
mediainfo \
openjdk-11-jre \
openjdk-17-jre \
perl \
python3 \
unzip
Expand Down
44 changes: 28 additions & 16 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ end
#
# the base rails stack (installed with 'rails new spot')
#
gem 'rails', '~> 5.2.7'
gem 'rails', '~> 6.1'

# use Puma as the app server
gem 'puma', '~> 6.4.0'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.1.0'
gem 'sass-rails', '~> 6.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '~> 4.2.0'
# Use Terser as compressor for JavaScript assets
gem 'terser', '~> 1.2.7'

# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5.2.1'
Expand All @@ -29,7 +29,7 @@ gem 'jbuilder', '~> 2.11.5'
#
# the hyrax/spot stack
#
gem 'hyrax', '~> 3.6.0'
gem 'hyrax', '~> 5.2.0'

# modularize our javascripts
gem 'almond-rails', '~> 0.3.0'
Expand All @@ -44,16 +44,18 @@ gem 'aws-sdk-s3', '~> 1.142.0'
gem 'bagit', '~> 0.6.0'

# blacklight plugins for enhanced searching
gem 'blacklight_advanced_search', '~> 6.4.1'
gem 'blacklight_oai_provider', '~> 6.0.0'
gem 'blacklight_range_limit', '~> 6.3.3'
gem 'blacklight_advanced_search', '~> 7.0.0'
gem 'blacklight_oai_provider', '~> 7.0.2'
gem 'blacklight_range_limit', '~> 8.5.0'

# start up the server faster
gem 'bootsnap', '~> 1.17', require: false

gem 'bootstrap', '~> 4.0'

# Bulkrax for batch ingesting objects
gem 'browse-everything', '~> 1.1.2'
gem 'bulkrax', '~> 9.0.2'
gem 'browse-everything', '~> 1.6.0'
gem 'bulkrax', '~> 9.3.3'

# This needs to be here if we want to compile our own JS
# (there's like a single coffee-script file still remaining in hyrax)
Expand All @@ -73,7 +75,7 @@ gem 'edtf-humanize', '~> 2.1.0'

# a bunch of samvera gems rely on Faraday already, but we'll
# require it as we're explicitly using it.
gem 'faraday', '~> 0.17.6'
gem 'faraday', '~> 2.0'

# video file resource for getting information on video derivatives
gem 'ffprober'
Expand All @@ -99,7 +101,8 @@ gem 'kaminari', '~> 1.2.2'

# mini_magick is a dependency of hydra-derivatives, but since we're
# calling it explicitly, we should require it.
gem 'mini_magick', '~> 4.11'
# gem 'mini_magick', '~> 4.11'
gem 'posix-spawn'

# manually add this gem to enable questioning_authority to parse linked-data results
gem 'linkeddata', '~> 3.1.6'
Expand All @@ -116,7 +119,7 @@ gem 'pg', '~> 1.5.4'

# this is bundled somewhere within the hyrax stack, but since we're
# calling it within our code we shouldn't expect it to always be there
gem 'rdf-vocab', '~> 3.2.7'
gem 'rdf-vocab', '~> 3.3.3'

# solr client for interacting with rails (installed w/ hyrax)
gem 'rsolr', '~> 2.5.0'
Expand All @@ -129,7 +132,10 @@ gem 'sidekiq', '~> 5.2.9'
gem 'sidekiq-cron', '~> 1.9.1'

# using Slack for some of our messaging
gem 'slack-ruby-client', '~> 0.14.6'
gem 'slack-ruby-client'

# used in the Hyrax 4 upgrade but not a dependency??
gem 'twitter-typeahead-rails', '~> 0.11.1'

# now that we're writing es6 javascript of our own (+ not just using the hyrax js)
# we need to compile it in sprockets.
Expand All @@ -148,12 +154,18 @@ gem 'redlock', '>= 0.1.2', '< 2.0'
# that throws off how forms are built in Hyrax.
gem 'simple_form', '< 5.2'

# sprockets support gets cagey after 1.0
gem 'openseadragon', '~> 0.9.0'

# need to be 1.20.1 or higher to avoid an incompatibility with json gem
gem 'multi_json', '~> 1.20.1'

# development dependencies (not as necessary to lock down versions here)
group :development do
# Seed data
# gem 'ldr-development-seeds', github: 'LafayetteCollegeLibraries/ldr-development-seeds', branch: 'main'

gem 'listen', '>= 3.0.5', '< 3.8'
gem 'listen', '~> 3.9.0'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring', '~> 2.1.1'
gem 'spring-watcher-listen', '~> 2.0.0'
Expand All @@ -177,7 +189,7 @@ group :development, :test do
gem 'selenium-webdriver'
gem 'shoulda-matchers', '~> 4'
gem 'simplecov', '~> 0.22.0', require: false
gem 'simplecov-cobertura', '~> 2.1', require: false
gem 'simplecov-cobertura', '~> 3', require: false
gem 'stub_env', '~> 1.0.4'
gem 'webmock', '~> 3.8'
end
Loading
Loading