Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge to master: Release 3.0.0 #31

Open
wants to merge 48 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
e4fc8b3
use custom ontologies_linked_data
RaimiSol Apr 12, 2023
172d02e
pull owlapi-wrapper fix from ontologies_linked_data
RaimiSol May 17, 2023
fabd04e
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jun 27, 2024
4036c40
Merge remote-tracking branch 'origin/master' into biodivportal-align-…
syphax-bouazzouni Aug 13, 2024
f932e9f
Merge pull request #1 from ontoportal-lirmm/biodivportal-align-2.9.1
syphax-bouazzouni Aug 14, 2024
2c23300
add deployment scripts
syphax-bouazzouni Aug 16, 2024
71bf5fc
Merge branch 'master' into biodivportal
syphax-bouazzouni Sep 8, 2024
6fad369
add ssh proxy for production deployment
syphax-bouazzouni Sep 8, 2024
a8c39f9
add capistrano deploy for biodiv
syphax-bouazzouni Nov 7, 2024
e9219ef
Merge remote-tracking branch 'biodivportal/master' into feature/biodi…
syphax-bouazzouni Nov 7, 2024
b9a3944
Merge remote-tracking branch 'biodivportal/master' into feature/biodi…
syphax-bouazzouni Nov 7, 2024
e93ae13
Merge pull request #2 from ontoportal-lirmm/feature/biodivportal/alig…
syphax-bouazzouni Nov 7, 2024
09b9008
add capistrano deployment to ncbo cron to test locally
imadbourouche Dec 6, 2024
60f711c
add deployment group in Gemfile
imadbourouche Dec 10, 2024
26d6467
update Gemfile.lock
imadbourouche Dec 10, 2024
cea7830
changing configurations
imadbourouche Dec 11, 2024
d9f8135
update Gemfile.lock
imadbourouche Dec 11, 2024
e45cf9b
add deploy workflow
imadbourouche Dec 11, 2024
b14dd2c
Update Gemfile.lock
imadbourouche Dec 11, 2024
74baff5
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Dec 12, 2024
3ee5488
Merge remote-tracking branch 'biodivportal/master' into biodivportal
syphax-bouazzouni Dec 12, 2024
57cd9a8
Merge remote-tracking branch 'origin/development' into biodivportal
syphax-bouazzouni Dec 12, 2024
99c8566
Merge remote-tracking branch 'origin/master' into biodivportal
syphax-bouazzouni Dec 12, 2024
c18e510
change configurations
imadbourouche Dec 13, 2024
48b2daf
chagne test branch to development
ontoportal-bot-lirmm Dec 16, 2024
2b59255
update ontologies_linked_data in Gemfile.lock
ontoportal-bot-lirmm Dec 16, 2024
b762ebb
uncomment private_config_repo env variable
ontoportal-bot-lirmm Dec 16, 2024
30fbe3b
Merge branch 'development' into feature/add-capistrano-deployment
imadbourouche Dec 16, 2024
af5b4b5
Merge pull request #27 from imadbourouche/feature/add-capistrano-depl…
syphax-bouazzouni Dec 20, 2024
d801295
Feature: create script to count graphs (#28)
syphax-bouazzouni Jan 14, 2025
04381bb
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jan 14, 2025
e1a64a7
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jan 14, 2025
03c19e7
add a script to migrate 4s dump to graph nt files
syphax-bouazzouni Jan 17, 2025
4eb9d75
add a script to import any nt file into a graph
syphax-bouazzouni Jan 17, 2025
d0c2aba
add a script to combine the metadata graphs files generation and import
syphax-bouazzouni Jan 17, 2025
850c8da
add scripts that compares triples count in graph files and in triple…
syphax-bouazzouni Jan 17, 2025
9dcfc78
update docker compose to use the default virtuoso image
syphax-bouazzouni Jan 17, 2025
7f6e739
add option to run import metadata graphs using docker for testing
syphax-bouazzouni Jan 17, 2025
5ce8c55
Merge branch 'feature/create-triples-migration-scripts' into biodivpo…
syphax-bouazzouni Jan 20, 2025
224c07d
Feature: create triples stores migration scripts (#29)
syphax-bouazzouni Jan 23, 2025
135729d
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jan 23, 2025
0645a46
[ontoportal-bot] Gemfile.lock update
ontoportal-bot-lirmm Jan 23, 2025
dd73691
fix graph count issue in assigning file path
syphax-bouazzouni Jan 23, 2025
677a6ca
Feature: Create triple store migration brenchmarks scripts (#30)
syphax-bouazzouni Feb 1, 2025
eb57de6
Merge branch 'master' into development
syphax-bouazzouni Feb 1, 2025
eb995d7
Merge branch 'master' into development
syphax-bouazzouni Feb 2, 2025
bda8914
bundle update
Bilelkihal Feb 5, 2025
8522be7
Feature: Migrate to ruby 3.2 (#32)
syphax-bouazzouni Feb 6, 2025
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
93 changes: 93 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Workflow to deploy NCBO Cron to stage/prod systems
#
# Required github secrets:
#
# CONFIG_REPO - github repo containing config and customizations for NCBO_CRON. Format 'author/private_config_repo'
# it is used for getting capistrano deployment configuration for stages on the github actions runner and
# PRIVATE_CONFIG_REPO env var is constructed from it which is used by capistrano on the API hosts for pulling configs.
#
# GH_PAT - github Personal Access Token for accessing private config repo
#
# SSH_JUMPHOST - ssh jump/proxy host though which deployments have to though if API nodes live on private network.
# SSH_JUMPHOST_USER - username to use to connect to the ssh jump/proxy.
#
# DEPLOY_ENC_KEY - key for decrypting deploymnet ssh key residing in config/
# this SSH key is used for accessing jump host, API nodes, and private github repo.

name: Capistrano Deployment
# Controls when the action will run.
on:
push:
branches:
- stage
- development
# Allows running this workflow manually from the Actions tab
workflow_dispatch:
inputs:
BRANCH:
description: "Branch/tag to deploy"
type: choice
options:
- stage
- development
- master
default: stage
required: true
environment:
description: "target environment to deploy to"
type: choice
options:
- staging
- test
- agroportal
default: stage
jobs:
deploy:
runs-on: ubuntu-latest
env:
BUNDLE_WITHOUT: default #install gems required primarely for deployment in order to speed up workflow
PRIVATE_CONFIG_REPO: ${{ format('[email protected]:{0}.git', secrets.CONFIG_REPO) }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: set branch/tag and environment to deploy from inputs
run: |
# workflow_dispatch default input doesn't get set on push so we need to set defaults
# via shell parameter expansion

USER_INPUT_BRANCH="${{ inputs.branch || github.head_ref || 'master' }}"
echo "BRANCH=${USER_INPUT_BRANCH}" >> $GITHUB_ENV

USER_INPUT_ENVIRONMENT=${{ inputs.environment }}
echo "TARGET=${USER_INPUT_ENVIRONMENT:-test}" >> $GITHUB_ENV

CONFIG_REPO=${{ secrets.CONFIG_REPO }}
GH_PAT=${{ secrets.GH_PAT }}
echo "PRIVATE_CONFIG_REPO=https://${GH_PAT}@github.com/${CONFIG_REPO}" >> $GITHUB_ENV

echo "SSH_JUMPHOST=${{ secrets.SSH_JUMPHOST }}" >> $GITHUB_ENV
echo "SSH_JUMPHOST_USER=${{ secrets.SSH_JUMPHOST_USER }}" >> $GITHUB_ENV
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.8 # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: get-deployment-config
uses: actions/checkout@v3
with:
repository: ${{ secrets.CONFIG_REPO }} # repository containing deployment settings
token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT
path: deploy_config
- name: copy-deployment-config
run: cp -r deploy_config/ncbo_cron/${{ inputs.environment }}/* .
# add ssh hostkey so that capistrano doesn't complain
- name: Add jumphost's hostkey to Known Hosts
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_JUMPHOST }}"
ssh-keyscan -H ${{ secrets.SSH_JUMPHOST }} > ~/.ssh/known_hosts
shell: bash
- uses: miloserdow/capistrano-deploy@master
with:
target: ${{ env.TARGET }} # which environment to deploy
deploy_key: ${{ secrets.DEPLOY_ENC_KEY }} # Name of the variable configured in Settings/Secrets of your github project
6 changes: 3 additions & 3 deletions .github/workflows/ruby-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ jobs:
strategy:
fail-fast: false
matrix:
goo-slice: [ '20', '100', '500' ]
ruby-version: [ '2.7' ]
goo-slice: [ '100' ]
ruby-version: [ '3.2.0' ]
triplestore: [ 'fs', 'ag', 'vo', 'gb' ]
runs-on: ubuntu-latest
steps:
Expand All @@ -34,7 +34,7 @@ jobs:
# http://docs.codecov.io/docs/testing-with-docker
run: |
ci_env=`bash <(curl -s https://codecov.io/env)`
GOO_SLICES=${{ matrix.goo-slice }} bundle exec rake test:docker:${{ matrix.triplestore }} TESTOPTS="-v"
GOO_SLICES=${{ matrix.goo-slice }} bundle exec rake test:docker:${{ matrix.triplestore }}
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ repo*
.DS_Store
tmp

vendor/bundle/*

# Code coverage reports
coverage*

Expand All @@ -29,3 +31,9 @@ logs/

# Ignore jEnv files
.java-version

processed_files/

queries.txt

graph_comparison.csv
40 changes: 40 additions & 0 deletions Capfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Load DSL and set up stages
require "capistrano/setup"

# Include default deployment tasks
require "capistrano/deploy"

# Load the SCM plugin appropriate to your project:
#
# require "capistrano/scm/hg"
# install_plugin Capistrano::SCM::Hg
# or
# require "capistrano/scm/svn"
# install_plugin Capistrano::SCM::Svn
# or
require "capistrano/scm/git"
install_plugin Capistrano::SCM::Git

# Include tasks from other gems included in your Gemfile
#
# For documentation on these, see for example:
#
# https://github.com/capistrano/rvm
# https://github.com/capistrano/rbenv
# https://github.com/capistrano/chruby
# https://github.com/capistrano/bundler
# https://github.com/capistrano/rails
# https://github.com/capistrano/passenger
#
# require "capistrano/rvm"
require "capistrano/rbenv"
# require "capistrano/chruby"
require "capistrano/bundler"
# require "capistrano/rails/assets"
# require "capistrano/rails/migrations"
# require "capistrano/passenger"
require 'capistrano/locally'
#require 'new_relic/recipes' # announce deployments in NewRelic

# Load custom tasks from `lib/capistrano/tasks` if you have any defined
Dir.glob("lib/capistrano/tasks/*.rake").each { |r| import r }
33 changes: 26 additions & 7 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,41 @@ gem 'sys-proctable'
gem 'request_store'
gem 'parallel'
gem 'json-ld'
gem 'ffi', '~> 1.16.3'
gem 'ffi'
gem 'activesupport', '~> 5.0'
gem 'rackup'

# Monitoring
gem 'cube-ruby', require: 'cube'

gem 'goo', github: 'ontoportal-lirmm/goo', branch: 'development'
gem 'goo', github: 'ontoportal-lirmm/goo', branch: 'feature/migrate-ruby-3.2'
gem 'ontologies_linked_data', github: 'ontoportal-lirmm/ontologies_linked_data', branch: 'feature/migrate-ruby-3.2'
gem 'sparql-client', github: 'ontoportal-lirmm/sparql-client', branch: 'development'
gem 'ontologies_linked_data', github: 'ontoportal-lirmm/ontologies_linked_data', branch: 'development'
gem 'ncbo_annotator', github: 'ontoportal-lirmm/ncbo_annotator', branch: 'development'

# Testing
group :test do
gem 'email_spec'
gem 'minitest', '< 5.0'
gem 'minitest'
gem 'simplecov'
gem 'simplecov-cobertura' # for codecov.io
gem 'test-unit-minitest'
# gem 'test-unit-minitest'
gem 'crack', '0.4.5'
gem 'webmock'
gem "minitest-hooks", "~> 1.5"
gem 'webrick'
end

group :development do
# bcrypt_pbkdf and ed35519 is required for capistrano deployments when using ed25519 keys; see https://github.com/miloserdow/capistrano-deploy/issues/42
gem 'bcrypt_pbkdf', '>= 1.0', '< 2.0', require: false
gem 'capistrano', '~> 3', require: false
gem 'capistrano-bundler', require: false
gem 'capistrano-locally', require: false
gem 'capistrano-rbenv', require: false
gem 'ed25519', '>= 1.2', '< 2.0', require: false
end

gem 'cube-ruby'
gem "binding_of_caller", "~> 1.0"
gem 'concurrent-ruby', '1.3.4'
gem 'net-smtp'
gem 'net-ftp'
Loading
Loading