Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
6add8d1
Merge branch 'develop' of github.com:ncbo/ontologies_linked_data into…
mdorf Aug 6, 2025
4e58bce
Merge branch 'develop' of github.com:ncbo/ontologies_linked_data into…
mdorf Aug 19, 2025
e898033
Merge branch 'develop' of github.com:ncbo/ontologies_linked_data into…
mdorf Sep 4, 2025
73b4f60
Merge branch 'develop' of github.com:ncbo/ontologies_linked_data into…
mdorf Dec 9, 2025
f94def5
work-in-progress on schemaless solr
mdorf Jan 14, 2026
1bb138b
fixed an issue with oboId and Solr indexing
mdorf Jan 15, 2026
836b2dc
incremental integration commit
mdorf Jan 17, 2026
447f470
fixed submission archiving API
mdorf Jan 17, 2026
95a1cef
improvements to index_doc and generate_missing_labels_each
mdorf Jan 20, 2026
acfa98b
further fix to generate_missing_labels_each; disappearing values no l…
mdorf Jan 21, 2026
e8c4c2b
make sure no notification sent for archived ontologies
mdorf Jan 21, 2026
5de3ba3
fix to a notification test
mdorf Jan 21, 2026
772802b
fixed tests in test_class and removed solr old config
mdorf Jan 21, 2026
0c128fc
fixed test_roots_of_multiple_scheme, which was failing in AG
mdorf Jan 21, 2026
ae232f1
Gemfile.lock update
mdorf Jan 22, 2026
16e17a3
added missing method self.clear_indexed_content; refactored for clarity
mdorf Jan 23, 2026
ad99768
upgraded to the latest version of minitest (5.1)
mdorf Jan 23, 2026
e38ed28
enabled fuzzy_search for some attributes; fixed create_ontologies_and…
mdorf Jan 26, 2026
82797fc
fixed a bug in submission_all_data_indexer; fixed #261
mdorf Jan 27, 2026
82aca9e
added onUpdate: :update_submissions_has_part to :viewOf attribute of …
mdorf Jan 28, 2026
34bf949
added a custom bring_remaining method to OntologySubmission to query …
mdorf Jan 28, 2026
5c84a23
migrate to ruby 3.2
mdorf Jan 28, 2026
7373727
improved mappings handling
mdorf Jan 29, 2026
d9aefd5
fix for label generation to give prefence to prefLabels over rdfs:labels
mdorf Feb 2, 2026
77a9806
updated a class in BRO test ontology to be used in unit tests
mdorf Feb 3, 2026
3dd2309
if portal language label exists but no generic prefLabel is defined, …
mdorf Feb 3, 2026
d867727
if portal language label exists but no generic prefLabel is defined, …
mdorf Feb 3, 2026
139bb2e
upgraded minitest from 5 to 6; activesupport from 4 to 8
mdorf Feb 3, 2026
8c20401
removed cube integration
mdorf Feb 3, 2026
9282060
resolved an issue with the test test_remote_ontology_pull_notificatio…
mdorf Feb 3, 2026
abb9310
updated ruby version to 3.2 in gemspec
mdorf Feb 4, 2026
b731028
fixed docker-compose vars
mdorf Feb 5, 2026
c60f8bc
added ability to return unmapped attributes for properties
mdorf Feb 6, 2026
42252c8
added URI fetching of related triples and serialization in different …
mdorf Feb 10, 2026
eb75ac7
Gemfile.lock update
mdorf Feb 10, 2026
4d2cb7c
added support for Webmock and jwt
mdorf Feb 10, 2026
b38b44c
added analytics module
mdorf Feb 10, 2026
65a2d56
multi-backend compatibility code for mappings
mdorf Feb 10, 2026
dcd6f61
Gemfile.lock update
mdorf Feb 10, 2026
2c6bd61
corrected the MOD namespace and added oauth providers setting
mdorf Feb 11, 2026
590791e
added a test for ontology bring_remaining?
mdorf Feb 11, 2026
41a2d9a
added user OAuth authentication
mdorf Feb 11, 2026
1bf1c2d
in user.rb, fixed embedded_doc and to_s methods
mdorf Feb 11, 2026
3204c0a
added embedded_doc methods for contact and metric
mdorf Feb 11, 2026
05d3014
more robust authorization module with ability to extract api key from…
mdorf Feb 11, 2026
77863e6
added test_search.rb unit tests
mdorf Feb 11, 2026
653dc83
updated test_http_cache for multi-backend compatibility
mdorf Feb 11, 2026
b8ac19b
fixed a tricky error that happens in a specific test execution order
mdorf Feb 12, 2026
8402ac3
a cosmetic fix
mdorf Feb 12, 2026
e16c953
a cosmetic fix
mdorf Feb 12, 2026
5225378
multi-backend compatibility fixes
mdorf Feb 12, 2026
e2d6638
CI: refactor docker-based test runner and add linux container tests …
alexskr Feb 12, 2026
c66a6b7
fixed ENV['OVERRIDE_CONFIG'] block to accept env vars for test runs
mdorf Feb 12, 2026
36879f4
Merge branch 'chore/ontoportal-lirmm-goo-compat' of github.com:ncbo/o…
mdorf Feb 12, 2026
c6082ab
fixed intermittent (order of execution) failures of test_search_ontol…
mdorf Feb 12, 2026
96a95b5
added auth providers and removed OVERRIDE_CONFIG
mdorf Feb 13, 2026
3ef7329
added a monkeypatch that addresses an issue in rdf-raptor 3.2.0, wher…
mdorf Feb 13, 2026
dd4cb9b
removed serena plugin files from source control
mdorf Feb 13, 2026
38eff17
defensive fixes that address the order of execution unit test issue: …
mdorf Feb 13, 2026
637fdfc
fixed a failing test due to the different order or records between AG…
mdorf Feb 14, 2026
2e3abe0
integrate ontoportal testkit
alexskr Mar 2, 2026
3ddff52
Remove unnecessary platforms from Gemfile.lock
alexskr Mar 2, 2026
b8dd559
Update restore FILE_SIZE_ZIPPING_THRESHOLD on LinkedData::Services::O…
alexskr Mar 2, 2026
5e3f6b9
update config file path for test env
alexskr Mar 2, 2026
b90a909
bundle update
alexskr Mar 3, 2026
4db7da9
removed :unique for user email to preserve backwards compatibility
mdorf Mar 4, 2026
c739536
updated ruby version to 3.2.10
mdorf Mar 6, 2026
790ac6d
Gemfile.lock update
mdorf Mar 6, 2026
281d238
Gemfile.lock update
alexskr Mar 6, 2026
1f83c13
Merge pull request #265 from ncbo/infra/ontoportal-testkit-integration
alexskr Mar 6, 2026
31a97e5
resolved an issue with cookie api key wasn't setting properly
mdorf Mar 9, 2026
d89f924
Merge branch 'chore/ontoportal-lirmm-goo-compat' of github.com:ncbo/o…
mdorf Mar 9, 2026
d6b8704
ontoportal testkit update
alexskr Mar 9, 2026
9512657
Gemfile.lock update
alexskr Mar 9, 2026
e731013
Gemfile.lock update
mdorf Mar 19, 2026
d6747ff
Gemfile.lock update
alexskr Mar 24, 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
38 changes: 0 additions & 38 deletions .github/workflows/ruby-unit-tests.yml

This file was deleted.

87 changes: 87 additions & 0 deletions .github/workflows/testkit-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Docker Unit Tests

on:
push:
branches:
- '**'
tags-ignore:
- '**'
pull_request:

env:
# CI execution mode for backend tests:
# - container: run `test:docker:<backend>:container` (default)
# - native: run `test:docker:<backend>` on host Ruby
OPTK_CI_RUN_MODE: ${{ vars.OPTK_CI_RUN_MODE || 'container' }}
# Example override to force native mode in this workflow file:
# OPTK_CI_RUN_MODE: native

jobs:
prepare:
runs-on: ubuntu-latest
outputs:
backends: ${{ steps.cfg.outputs.backends }}
steps:
- uses: actions/checkout@v4

- id: cfg
name: Read backend matrix from .ontoportal-testkit.yml
run: |
BACKENDS=$(ruby -ryaml -rjson -e 'c=YAML.safe_load_file(".ontoportal-testkit.yml") || {}; b=c["backends"] || %w[fs ag vo gd]; puts JSON.generate(b)')
echo "backends=$BACKENDS" >> "$GITHUB_OUTPUT"

test:
needs: prepare
runs-on: ubuntu-latest
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
backend: ${{ fromJson(needs.prepare.outputs.backends) }}

steps:
- uses: actions/checkout@v4

- name: Set up Ruby from .ruby-version
uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true

- name: Set up Java 11 (native mode)
if: env.OPTK_CI_RUN_MODE == 'native'
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '11'

- name: Install native system dependencies
if: env.OPTK_CI_RUN_MODE == 'native'
run: |
sudo apt-get update
sudo apt-get install -y raptor2-utils

- name: Run unit tests
env:
CI: "true"
TESTOPTS: "--verbose"
BACKEND: ${{ matrix.backend }}
run: |
MODE="${OPTK_CI_RUN_MODE:-container}"
TASK="test:docker:${BACKEND}"
if [ "$MODE" = "container" ]; then
TASK="${TASK}:container"
elif [ "$MODE" != "native" ]; then
echo "Invalid OPTK_CI_RUN_MODE=$MODE (expected container or native)"
exit 1
fi

bundle exec rake "$TASK"

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests,${{ matrix.backend }}
verbose: true
fail_ci_if_error: false
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
*.swp
*.gemtags
.bundle
.serena
*.tags*
.DS_Store

Expand Down
8 changes: 8 additions & 0 deletions .ontoportal-testkit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
component_name: ontologies_linked_data
app_service: test-container
backends:
- fs
- ag
- vo
- gd
dependency_services: {}
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.1.6
3.2.10
29 changes: 8 additions & 21 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,34 +1,21 @@
ARG RUBY_VERSION=3.1
ARG RUBY_VERSION=3.2
ARG DISTRO=bullseye

FROM ruby:$RUBY_VERSION-$DISTRO

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
git \
libxml2 \
libxslt-dev \
openjdk-11-jre-headless \
raptor2-utils \
&& rm -rf /var/lib/apt/lists/*
ARG TESTKIT_BASE_IMAGE=ontoportal/testkit-base:ruby${RUBY_VERSION}-${DISTRO}
FROM ${TESTKIT_BASE_IMAGE}

WORKDIR /app

COPY Gemfile* *.gemspec ./

# Copy only the `version.rb` file to prevent missing file errors!
# Copy only the `version.rb` file to prevent missing file errors
COPY lib/ontologies_linked_data/version.rb lib/ontologies_linked_data/

#Install the exact Bundler version from Gemfile.lock (if it exists)
RUN gem update --system && \
if [ -f Gemfile.lock ]; then \
COPY Gemfile* *.gemspec ./

# Respect the project's Bundler lock when present.
RUN if [ -f Gemfile.lock ]; then \
BUNDLER_VERSION=$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1 | tr -d ' '); \
gem install bundler -v "$BUNDLER_VERSION"; \
else \
gem install bundler; \
fi

RUN bundle config set --global no-document 'true'
RUN bundle install --jobs 4 --retry 3

COPY . ./
Expand Down
21 changes: 12 additions & 9 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,46 @@ source 'https://rubygems.org'

gemspec

gem 'activesupport', '~> 4'
gem 'activesupport'
gem 'addressable', '~> 2.8'
gem 'bcrypt', '~> 3.0'
gem 'cube-ruby', require: 'cube'
gem 'ffi'
gem 'libxml-ruby'
gem 'multi_json', '~> 1.0'
gem 'oj', '~> 3.0'
gem 'omni_logger'
gem 'pony'
gem 'rack'
gem 'rake', '~> 10.0'
gem 'rake'
gem 'request_store'
gem 'rest-client'
gem 'rsolr'
gem 'thin', '~> 1.0' # compatibility version pin. thin should be replaced with webmoc
gem "down", "~> 5.0"
gem 'jwt'
gem 'json-ld', '~> 3.2.0'

# Testing
group :test do
gem 'email_spec'
gem 'minitest', '~> 4'
gem 'minitest-reporters', '>= 0.5.0'
gem 'minitest'
gem 'minitest-reporters'
gem 'mocha', '~> 2.7'
gem 'mock_redis', '~> 0.5'
gem 'ontoportal_testkit', github: 'alexskr/ontoportal_testkit', branch: 'main'
gem 'pry'
gem 'rack-test', '~> 0.6'
gem 'simplecov'
gem 'simplecov-cobertura' # for codecov.io
gem "thin", "~> 1.8.2"
gem 'webmock'
end

group :development do
gem 'rubocop', require: false
end
# NCBO gems (can be from a local dev path or from rubygems/git)
gem 'goo', github: 'ncbo/goo', branch: 'develop'
gem 'sparql-client', github: 'ncbo/sparql-client', tag: 'v6.3.0'
gem 'goo', github: 'ncbo/goo', branch: 'main'
gem 'sparql-client', github: 'ncbo/sparql-client', branch: 'main'


gem 'public_suffix', '~> 5.1.1'
gem 'net-imap', '~> 0.4.18'
Loading
Loading