Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
308 commits
Select commit Hold shift + click to select a range
5b9dc05
update base_resource_indexer coverage
rococodogs Jan 10, 2025
4802750
pull darlingtonia logger
rococodogs Jan 10, 2025
d97308e
D'oh!
rococodogs Jan 10, 2025
f2a6e16
d'oh! d'oh!
rococodogs Jan 10, 2025
6bce211
include rights statement indexing into base
rococodogs Jan 13, 2025
46618cd
fix rights_statement indexing issue?
rococodogs Jan 15, 2025
fcbd156
add wings mapping for admin_sets
rococodogs Jan 21, 2025
c162a7c
add local env mappings to github config?
rococodogs Jan 21, 2025
c8672d8
use the null_index adapter unless we're using valkyrie
rococodogs Jan 22, 2025
e5243ff
add edtf date validation tests
rococodogs Jan 23, 2025
5f67d83
add simple_schema_loader spec
rococodogs Jan 23, 2025
cd678ce
nocov isn't surrender!
rococodogs Jan 23, 2025
1cbe3f0
regenerate_thumbanil_job and embargo_lease_service work
rococodogs Jan 28, 2025
e0bd939
add a gha matrix for hyrax_valkyrie on/off
rococodogs Jan 28, 2025
701f4b0
name gh test using valkyrie matrix variable
rococodogs Jan 28, 2025
95631df
wip test fixes
rococodogs Feb 19, 2025
476362d
first pass @ shared_examples readme
rococodogs Feb 19, 2025
0f08deb
persist permission acl for factory when setting
rococodogs Feb 19, 2025
39d3454
more wip
rococodogs Feb 26, 2025
47812e1
disable hyrax form required/secondary fields
rococodogs Feb 27, 2025
c6ae567
bugfix to load Hyrax::Forms::ResourceForm
rococodogs Feb 27, 2025
27ded92
wip form specs
rococodogs Feb 27, 2025
6a90d40
revert create_audio_visual_spec :sweat_smile:
rococodogs Feb 28, 2025
f42f867
more wip forms work
rococodogs Mar 3, 2025
61c6845
add in hyrax 5 patch for works with unindexed file_sets
rococodogs Mar 3, 2025
7df5c8b
more wip (submission works, kinda?)
rococodogs Mar 6, 2025
a4463a9
copy views for resources
rococodogs Mar 10, 2025
5edc47c
allow hyrax_valkyrie=1 tests to fail
rococodogs Mar 10, 2025
c82a7f5
ruboooooo
rococodogs Mar 10, 2025
58630a9
form helpers
rococodogs Mar 10, 2025
55744b3
remove circleci
rococodogs Mar 10, 2025
e5294fa
RUBOOOOO
rococodogs Mar 10, 2025
a517ed9
okok test fixes
rococodogs Mar 11, 2025
23b5151
comments
rococodogs Mar 11, 2025
95be86b
pull tmate debugging
rococodogs Mar 11, 2025
8b09cb2
differentiate valkyrie test summaries
rococodogs Mar 11, 2025
dc0f4bc
metadata first pass
jwellnit Feb 19, 2025
b7ada2c
the rest of the files
jwellnit Feb 20, 2025
cdb49a8
attribute
jwellnit Feb 26, 2025
5bb6a85
concern loading and small metadata enhancements
jwellnit Feb 27, 2025
0c117bb
permissions, routes, metadata
jwellnit Feb 27, 2025
59f5625
service first pass
jwellnit Mar 3, 2025
771867d
form update
jwellnit Mar 11, 2025
fde34d1
form reorganizing
jwellnit Mar 13, 2025
d0bd02f
rubo
jwellnit Mar 13, 2025
6e4ac66
rubo :(
jwellnit Mar 13, 2025
e7596ef
rubo >:(
jwellnit Mar 13, 2025
996b888
RUBO
jwellnit Mar 13, 2025
b390308
potential service fix
jwellnit Mar 13, 2025
7c88355
factories and indexer test
jwellnit Mar 19, 2025
edf87aa
form spec
jwellnit Mar 19, 2025
7867476
form primary terms test
jwellnit Mar 20, 2025
a7b13c9
fix?
jwellnit Mar 20, 2025
b8bdfb7
fix 2?
jwellnit Mar 20, 2025
4b739d2
always use valkyrie style file set for service
jwellnit Mar 20, 2025
b58feb8
fix
jwellnit Mar 20, 2025
a36baca
potential quick fix
jwellnit Mar 21, 2025
a36e669
:(
jwellnit Mar 21, 2025
0d8fe09
try
jwellnit Mar 21, 2025
dd0dd51
fix
jwellnit Mar 21, 2025
c9be105
persister
jwellnit Mar 21, 2025
e0ce3df
save
jwellnit Mar 21, 2025
6232fe8
missed one
jwellnit Mar 21, 2025
8c28091
simple sleep
jwellnit Apr 1, 2025
ab90159
selector stuff
jwellnit Apr 2, 2025
8c64d4a
fixes
jwellnit Apr 2, 2025
35b83b1
selctor :(
jwellnit Apr 2, 2025
a9998de
hyrax 4.0
rococodogs Mar 26, 2025
63686e7
whoops
rococodogs Mar 26, 2025
0cd8300
specs wip
rococodogs Mar 31, 2025
6967eb3
wip
rococodogs Apr 2, 2025
13323c2
redundant begin block
rococodogs Apr 21, 2025
a5b18ad
controller specs
rococodogs Apr 21, 2025
936d9df
all but feature specs working
rococodogs Apr 22, 2025
d2a2fa3
ruboooo!
rococodogs Apr 22, 2025
f8ca11d
coverage
rococodogs Apr 22, 2025
6aac4af
pin sprockets, try reverting to older sprockets-rails
rococodogs Apr 25, 2025
6f26b1e
wip views work
rococodogs Apr 29, 2025
f666180
wip tests
rococodogs May 5, 2025
a2f50dd
wip again (hyrax_valkyrie=false should pass)
rococodogs May 12, 2025
9a1eb8f
copy bootstrap 4 config from hyrax generators
rococodogs Jun 16, 2025
fee5dfa
wip (lol)
rococodogs Aug 6, 2025
48aa001
simplecov update / start iiif derivative spec
rococodogs Aug 18, 2025
1f73efe
Update Collection View (#1182)
jwellnit Aug 18, 2025
0e2c43e
add tmp/export cleanup cron script (#1181)
rococodogs Sep 2, 2025
e48a5c0
index_field_mapper fix (#1183)
jwellnit Sep 3, 2025
6fc086e
Limit pdf viewer size to 65mb (#1184)
jwellnit Sep 3, 2025
769960b
Merge pull request #1185 from LafayetteCollegeLibraries/develop
jwellnit Sep 4, 2025
d31b0c0
cleanup all_fields list + add inscription (#1186)
rococodogs Sep 15, 2025
adebcaa
Merge pull request #1188 from LafayetteCollegeLibraries/develop
rococodogs Sep 29, 2025
8dd6307
use community zookeeper image instead of bitnami
rococodogs Sep 29, 2025
b26fd3b
Merge pull request #1189 from LafayetteCollegeLibraries/develop
rococodogs Sep 29, 2025
da0b86b
replace bitnami solr image with docker/solr (#1190)
rococodogs Oct 9, 2025
6c6bdc9
wait why was bundle install missing?
rococodogs Oct 9, 2025
a82e203
upgrade hyrax to 4.0 (tests fail atm)
rococodogs Oct 16, 2025
79ccac3
introduce hyrax_valkyrie matrix to github actions
rococodogs Oct 16, 2025
65acee3
ruby to 3.2.9
rococodogs Oct 17, 2025
ca78ff5
fix js/css assets
rococodogs Oct 17, 2025
9db2ef6
add valkyrie status to gh test name
rococodogs Oct 17, 2025
a7d354f
hyrax to 5.2.0
rococodogs Oct 21, 2025
c6eb84a
bundle update
rococodogs Oct 21, 2025
f868618
controller specs pass
rococodogs Oct 21, 2025
c9a6e57
copy over some valkyrie work to use query service
jwellnit Oct 22, 2025
3123879
first pass @ resources and change_sets
rococodogs Jul 18, 2024
74b08c5
start forms + specs
rococodogs Jul 30, 2024
9958d64
remove first-pass change_sets
rococodogs Aug 2, 2024
45b52bc
more tests
rococodogs Aug 6, 2024
a3063c2
changed my mind
rococodogs Aug 20, 2024
5a5464c
rubo fixes
rococodogs Oct 22, 2024
662d5ae
form specs started
rococodogs Nov 5, 2024
57851e8
rubo
rococodogs Nov 6, 2024
e93317c
ignore lint issue
rococodogs Nov 6, 2024
dda12b1
add comments
rococodogs Nov 6, 2024
c9e8de1
start indexers
rococodogs Nov 7, 2024
acd2b58
update indexer specs
rococodogs Nov 8, 2024
d2f9fd7
start image/student_work indexer specs
rococodogs Nov 8, 2024
a2f92f6
fix solr spec issue?
rococodogs Nov 8, 2024
7915375
set controllers back to old Hyrax models
rococodogs Nov 8, 2024
f7df599
get indexer specs working
rococodogs Nov 8, 2024
fa12a39
add comments
rococodogs Nov 10, 2024
475e4f4
finish base_resource_indexer specs
rococodogs Nov 15, 2024
5eca6f4
toggle valkyrie integration using HYRAX_VALKRYIE env
rococodogs Nov 16, 2024
bf8a161
use valkyrie query methods
rococodogs Nov 19, 2024
1d3eb2e
add support for standard_/local_ identifiers in form
rococodogs Nov 19, 2024
0c1d4fd
start listeners
rococodogs Nov 20, 2024
c0b64dd
listener specs
rococodogs Nov 20, 2024
31af61d
typos
rococodogs Nov 21, 2024
3d4b4e4
move handle minting into its own listener
rococodogs Nov 21, 2024
586f350
more test work
rococodogs Nov 22, 2024
7b53411
rubo
rococodogs Nov 22, 2024
05d9c3f
wip catch up
rococodogs Nov 27, 2024
8f70e44
comments
rococodogs Dec 2, 2024
0d290c7
first pass @ valkyrizing embargo_lease_service
rococodogs Dec 2, 2024
1ad91a5
fix SimpleSchemaLoader
rococodogs Dec 3, 2024
86ea894
wip embargo/leases
rococodogs Dec 4, 2024
a44fdb9
embargo + lease valkyrization
rococodogs Dec 6, 2024
9864651
rubo
rococodogs Dec 6, 2024
9b89e21
more indexing work
rococodogs Dec 6, 2024
3a3c0ff
add comment to iiif_service
rococodogs Dec 6, 2024
4a308cc
fix regenerate_thumbnail_job_spec
rococodogs Dec 6, 2024
5c383b0
comments
rococodogs Dec 6, 2024
1e185d8
sync_collection_permissions_job_spec passing
rococodogs Dec 10, 2024
2deb081
rubo
rococodogs Dec 10, 2024
114f999
get repository_fixity_check_job_spec passing
rococodogs Dec 10, 2024
458842d
working towards fixing github spec failures
rococodogs Dec 12, 2024
fef0ada
pass solr user/pass to valkyrie solr host config
rococodogs Dec 12, 2024
295d753
limit what we need to test for indexing thumbnail_urls
rococodogs Dec 12, 2024
9256a02
smol test refactor
rococodogs Dec 13, 2024
2c29fa7
try again
rococodogs Dec 16, 2024
7e4a2f9
skip admin_set override on test env?
rococodogs Dec 16, 2024
f6206a6
store capybara-screenshot artifacts
rococodogs Dec 16, 2024
6b916b0
maybe?
rococodogs Dec 16, 2024
687f113
pull tmate
rococodogs Dec 17, 2024
0ce9b8c
use hyrax >= 3 i18n for workflow mailer
rococodogs Jan 8, 2025
166ce1b
gh action fix?
rococodogs Jan 8, 2025
d1d73ce
maybe continue-on-error will let us persist capybara artifacts?
rococodogs Jan 8, 2025
ce3bf8d
take a tip from hyrax specs?
rococodogs Jan 8, 2025
9497a91
please welcome back to the stage, tmate
rococodogs Jan 8, 2025
c83ab29
pull continue-on-error
rococodogs Jan 8, 2025
87bcaad
update base_resource_indexer coverage
rococodogs Jan 10, 2025
75594a7
pull darlingtonia logger
rococodogs Jan 10, 2025
0094a71
D'oh!
rococodogs Jan 10, 2025
09d2983
d'oh! d'oh!
rococodogs Jan 10, 2025
f84a9d4
include rights statement indexing into base
rococodogs Jan 13, 2025
e6f750c
fix rights_statement indexing issue?
rococodogs Jan 15, 2025
c2f0f03
add wings mapping for admin_sets
rococodogs Jan 21, 2025
f853b8c
add local env mappings to github config?
rococodogs Jan 21, 2025
e6d9b7e
use the null_index adapter unless we're using valkyrie
rococodogs Jan 22, 2025
a9b203b
add edtf date validation tests
rococodogs Jan 23, 2025
8b14e34
add simple_schema_loader spec
rococodogs Jan 23, 2025
d76fa4c
nocov isn't surrender!
rococodogs Jan 23, 2025
84347ea
regenerate_thumbanil_job and embargo_lease_service work
rococodogs Jan 28, 2025
3712e7f
wip test fixes
rococodogs Feb 19, 2025
5aa1d35
first pass @ shared_examples readme
rococodogs Feb 19, 2025
4ef215d
persist permission acl for factory when setting
rococodogs Feb 19, 2025
5ce4a69
more wip
rococodogs Feb 26, 2025
efa3120
disable hyrax form required/secondary fields
rococodogs Feb 27, 2025
81a7bb6
bugfix to load Hyrax::Forms::ResourceForm
rococodogs Feb 27, 2025
6e5d223
wip form specs
rococodogs Feb 27, 2025
6e29da4
revert create_audio_visual_spec :sweat_smile:
rococodogs Feb 28, 2025
f0b709e
more wip forms work
rococodogs Mar 3, 2025
c4902ce
add in hyrax 5 patch for works with unindexed file_sets
rococodogs Mar 3, 2025
882a937
more wip (submission works, kinda?)
rococodogs Mar 6, 2025
690dea7
copy views for resources
rococodogs Mar 10, 2025
c8260f1
allow hyrax_valkyrie=1 tests to fail
rococodogs Mar 10, 2025
54f7674
ruboooooo
rococodogs Mar 10, 2025
8d8e8cb
form helpers
rococodogs Mar 10, 2025
94fe0d9
remove circleci
rococodogs Mar 10, 2025
fb9bb79
RUBOOOOO
rococodogs Mar 10, 2025
0f382de
okok test fixes
rococodogs Mar 11, 2025
d52bbe9
comments
rococodogs Mar 11, 2025
f397ad0
pull tmate debugging
rococodogs Mar 11, 2025
a50897b
differentiate valkyrie test summaries
rococodogs Mar 11, 2025
8219b5e
metadata first pass
jwellnit Feb 19, 2025
3ffbc13
the rest of the files
jwellnit Feb 20, 2025
42121c1
attribute
jwellnit Feb 26, 2025
c4a851c
concern loading and small metadata enhancements
jwellnit Feb 27, 2025
9132abd
permissions, routes, metadata
jwellnit Feb 27, 2025
99b0732
service first pass
jwellnit Mar 3, 2025
62c3191
form update
jwellnit Mar 11, 2025
91b5c34
form reorganizing
jwellnit Mar 13, 2025
067efed
rubo
jwellnit Mar 13, 2025
e7287c6
rubo :(
jwellnit Mar 13, 2025
63c4061
rubo >:(
jwellnit Mar 13, 2025
b1762eb
RUBO
jwellnit Mar 13, 2025
864d9f9
potential service fix
jwellnit Mar 13, 2025
b951254
factories and indexer test
jwellnit Mar 19, 2025
5314810
form spec
jwellnit Mar 19, 2025
84337a6
form primary terms test
jwellnit Mar 20, 2025
515f10f
fix?
jwellnit Mar 20, 2025
36b3015
fix 2?
jwellnit Mar 20, 2025
25f64e2
always use valkyrie style file set for service
jwellnit Mar 20, 2025
984b354
fix
jwellnit Mar 20, 2025
d99c542
potential quick fix
jwellnit Mar 21, 2025
e0e0ae5
:(
jwellnit Mar 21, 2025
e597621
try
jwellnit Mar 21, 2025
289ab20
fix
jwellnit Mar 21, 2025
5434fc4
persister
jwellnit Mar 21, 2025
848d975
save
jwellnit Mar 21, 2025
d6a345e
missed one
jwellnit Mar 21, 2025
686b349
simple sleep
jwellnit Apr 1, 2025
adc0896
selector stuff
jwellnit Apr 2, 2025
faaeb47
fixes
jwellnit Apr 2, 2025
1cb1716
selctor :(
jwellnit Apr 2, 2025
0a86a73
hyrax 4.0
rococodogs Mar 26, 2025
2f9b9ca
specs wip
rococodogs Mar 31, 2025
e51b47e
wip
rococodogs Apr 2, 2025
05bc942
redundant begin block
rococodogs Apr 21, 2025
c54d3f3
controller specs
rococodogs Apr 21, 2025
ae62f6f
all but feature specs working
rococodogs Apr 22, 2025
9fd50cf
ruboooo!
rococodogs Apr 22, 2025
00c8e4e
coverage
rococodogs Apr 22, 2025
849372c
pin sprockets, try reverting to older sprockets-rails
rococodogs Apr 25, 2025
c7a6257
wip views work
rococodogs Apr 29, 2025
2379484
wip tests
rococodogs May 5, 2025
5fec9ae
wip again (hyrax_valkyrie=false should pass)
rococodogs May 12, 2025
4017aea
copy bootstrap 4 config from hyrax generators
rococodogs Jun 16, 2025
74df907
wip (lol)
rococodogs Aug 6, 2025
581cfc3
simplecov update / start iiif derivative spec
rococodogs Aug 18, 2025
e348b58
Merge branch 'valkyrie-resources' of https://github.com/LafayetteColl…
jwellnit Oct 23, 2025
f717dd4
gemfile cleanup
jwellnit Oct 24, 2025
d7871e7
revert lint-and-test
jwellnit Oct 24, 2025
f66460f
Rubo
jwellnit Oct 24, 2025
58af0ba
quick and dirty postresql upgrade
jwellnit Oct 27, 2025
fe23af8
github actions was looking for 13, that was the problem
jwellnit Oct 27, 2025
c008eeb
reconstitute action from dockerfile
jwellnit Oct 27, 2025
8a682ef
maybe unlock the version?
jwellnit Oct 27, 2025
03f1de0
remove valkyrization
jwellnit Oct 27, 2025
fe1ebaf
Merge branch 'hyrax-4-jenn' into valkyrie-resources
jwellnit Oct 27, 2025
de09a5d
more small fixes
jwellnit Oct 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
15 changes: 0 additions & 15 deletions .circleci/config.yml

This file was deleted.

89 changes: 39 additions & 50 deletions .github/workflows/lint-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,16 @@ jobs:
run: bundle exec rubocop --format github

test:
name: Test
name: "Test (Valkyrie enabled: ${{ github.matrix.hyrax_valkyrie_enabled }})"
runs-on: ubuntu-latest
container: ruby:2.7.8-slim-bullseye
container:
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 @@ -47,55 +53,51 @@ jobs:
image: redis:6.2-alpine
ports:
- 6379:6379
zookeeper:
image: bitnami/zookeeper:3.9
ports:
- 2181:2181
env:
ZOO_SERVER_ID: 1
ALLOW_ANONYMOUS_LOGIN: yes
ZOO_SERVERS: zookeeper:2888:3888
ZOO_4LW_COMMANDS_WHITELIST: srvr,mntr,conf,ruok
solr:
image: bitnami/solr:8.11.2
image: solr:8.11.4
ports:
- 8983:8983
env:
SOLR_ADMIN_USERNAME: solr_admin
SOLR_ADMIN_PASSWORD: solr_password
SOLR_CLOUD_BOOTSTRAP: yes
SOLR_ENABLE_AUTHENTICATION: yes
SOLR_ENABLE_CLOUD_MODE: yes
SOLR_HOST: solr
SOLR_ZK_HOSTS: zookeeper:2181
volumes:
- solr:/var/solr/data
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
PSQL_USER: spot_test_user
PSQL_DATABASE: spot_test
PSQL_HOST: database
RAILS_ENV: test
SOLR_TEST_URL: http://solr_admin:solr_password@solr:8983/solr/spot-test
SOLR_TEST_URL: http://solr:8983/solr/spot-test
SOLR_VERSION: "8.11.4"
URL_HOST: http://localhost:3000

steps:
- uses: actions/checkout@v4
- 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
- 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 \
libasound2 libdbus-glib-1-dev libgtk-3-0 libpq-dev unzip libx11-xcb1
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 libjemalloc2 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
uses: browser-actions/setup-firefox@v1
Expand All @@ -113,27 +115,6 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
geckodriver-version: latest
-
name: Checkout code
uses: actions/checkout@v4
-
name: Restore Solr config.zip from cache
id: solr-config-cache
uses: actions/cache@v4
with:
path: /tmp/spot_solr_config.zip
key: spot-solr-${{ hashFiles('docker/solr/config') }}
-
name: Build Solr config.zip
if: steps.solr-config-cache.outputs.cache-hit != 'true'
run: |
cd docker/solr/config
zip -1 /tmp/spot_solr_config.zip ./*
-
name: Setup Solr core with local configs
run: |
curl --user solr_admin:solr_password -H "Content-type: application/octet-stream" --data-binary @/tmp/spot_solr_config.zip "http://solr:8983/solr/admin/configs?action=UPLOAD&name=spot"
curl --user solr_admin:solr_password -H "Content-type: application/json" http://solr:8983/api/collections/ -d "{create: {name: spot-test, config: spot, numShards: 1}}"
-
name: Restore installed Gems
uses: actions/cache@v4
Expand All @@ -145,6 +126,14 @@ jobs:
run: |
gem install bundler:$(tail -n 1 Gemfile.lock | sed -e "s/ *//")
bundle install
-
name: Status check Solr
uses: cygnetdigital/wait_for_response@v2.0.0
with:
url: http://solr:8983/solr/
responseCode: 200,301
timeout: 10000
interval: 1000
-
name: Run migrations
run: bundle exec rake db:migrate
Expand Down
2 changes: 1 addition & 1 deletion .rspec
Original file line number Diff line number Diff line change
@@ -1 +1 @@
--require spec_helper
--require ./spec/spec_helper.rb --default-path spec
17 changes: 8 additions & 9 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2024-09-04 19:26:55 UTC using RuboCop version 1.28.2.
# on 2025-05-12 16:44:26 UTC using RuboCop version 1.28.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
Expand All @@ -13,23 +13,22 @@
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
# URISchemes: http, https
Layout/LineLength:
Max: 215
# Offense count: 2
Lint/MissingSuper:
Exclude:
- 'app/forms/concerns/spot/forms/controlled_vocabulary_form_field.rb'
- 'app/forms/concerns/spot/forms/language_tagged_form_fields.rb'

# Offense count: 7
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods, inherit_mode.
# IgnoredMethods: refine
Metrics/BlockLength:
Max: 58

# Offense count: 5
# Offense count: 7
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
Metrics/MethodLength:
Max: 27
Max: 29

# Offense count: 1
# This cop supports safe auto-correction (--auto-correct).
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
35 changes: 20 additions & 15 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,27 @@
# !! 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 \
cron \
git \
libjemalloc2 \
libpq-dev \
libxml2 \
libxml2-dev \
libxslt-dev \
netcat-openbsd \
nodejs \
openssl \
postgresql-13 \
postgresql \
ruby-dev \
tzdata \
zip
Expand All @@ -35,12 +35,17 @@ ENV HYRAX_CACHE_PATH=/spot/tmp/cache \
HYRAX_UPLOAD_PATH=/spot/tmp/uploads \
BUNDLE_FORCE_RUBY_PLATFORM=1

# configure ruby to use jemalloc + yjit to improve performance
# @see https://matthaliski.com/blog/upgrading-to-rails-7-1-ruby-3-3-and-jemalloc
ENV LD_PRELOAD="libjemalloc.so.2" \
MALLOC_CONFIG="dirty_decay_ms:1000,narenas:2,background_thread:true,stats_print:true" \
RUBY_YJIT_ENABLE="1"

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 All @@ -50,7 +55,7 @@ ARG build_date=""
ENV SPOT_BUILD_DATE="$build_date"

ENTRYPOINT ["/spot/bin/spot-entrypoint.sh"]
CMD ["bundle", "exec", "rails", "server", "-b", "ssl://0.0.0.0:443?key=/spot/tmp/ssl/application.key&cert=/spot/tmp/ssl/application.crt"]
CMD ["bundle", "exec", "rails", "server", "-b", "ssl://0.0.0.0:443?key=/spot/tmp/ssl/application.key&cert=/spot/tmp/ssl/application.crt&verify_mode=peer"]

HEALTHCHECK CMD curl -skf https://localhost/healthcheck/default || exit 1

Expand Down Expand Up @@ -132,18 +137,18 @@ RUN unzip -d /tmp/fits /tmp/fits.zip && \
##
FROM spot-base AS spot-worker-base
# @see https://github.com/mperham/sidekiq/wiki/Memory#bloat
ENV MALLOC_ARENA_MAX=2
# 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
Loading
Loading