Skip to content

Use gvenzl/oracle-free:latest #95

Use gvenzl/oracle-free:latest

Use gvenzl/oracle-free:latest #95

Workflow file for this run

name: test
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-20.04
continue-on-error: true
strategy:
matrix:
ruby: [
'3.2',
'3.1',
'3.0',
'2.7',
'2.6',
'2.5',
ruby-head,
ruby-debug,
truffleruby,
truffleruby-head
]
env:
ORACLE_HOME: /opt/oracle/instantclient_23_3
LD_LIBRARY_PATH: /opt/oracle/instantclient_23_3
NLS_LANG: AMERICAN_AMERICA.AL32UTF8
TNS_ADMIN: ./ci/network/admin
DATABASE_NAME: FREEPDB1
TZ: Europe/Riga
DATABASE_SYS_PASSWORD: Oracle18
DATABASE_VERSION: 23.3.0.23
services:
oracle:
image: gvenzl/oracle-free:latest
ports:
- 1521:1521
env:
TZ: Europe/Riga
ORACLE_PASSWORD: Oracle18
options: >-
--health-cmd healthcheck.sh
--health-interval 10s
--health-timeout 5s
--health-retries 10
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Install required package
run: |
sudo apt-get install alien
- name: Download Oracle client
run: |
wget -q https://download.oracle.com/otn_software/linux/instantclient/23c/instantclient-basic-linux.x64-23.3.0.0.0.zip
wget -q https://download.oracle.com/otn_software/linux/instantclient/23c/instantclient-sdk-linux.x64-23.3.0.0.0.zip
wget -q https://download.oracle.com/otn_software/linux/instantclient/23c/instantclient-sqlplus-linux.x64-23.3.0.0.0.zip
- name: Install Oracle client
run: |
sudo mkdir -p /opt/oracle/
sudo unzip instantclient-basic-linux.x64-23.3.0.0.0.zip -d /opt/oracle/
sudo unzip -o instantclient-sdk-linux.x64-23.3.0.0.0.zip -d /opt/oracle/
sudo unzip -o instantclient-sqlplus-linux.x64-23.3.0.0.0.zip -d /opt/oracle/
echo "/opt/oracle/instantclient_23_3" >> $GITHUB_PATH
- name: Install JDBC Driver
run: |
wget -q https://download.oracle.com/otn-pub/otn_software/jdbc/211/ojdbc11.jar -O ./lib/ojdbc11.jar
- name: Create database user
run: |
./ci/setup_accounts.sh
- name: Disable ActiveRecord for TruffleRuby
run: |
echo "NO_ACTIVERECORD=true" >> $GITHUB_ENV
if: "contains(matrix.ruby, 'truffleruby')"
- name: Bundle install
run: |
bundle install --jobs 4 --retry 3
- name: Run RSpec
run: |
bundle exec rspec