52 lines
1.7 KiB
YAML
52 lines
1.7 KiB
YAML
name: Oracle database tests
|
|
on:
|
|
push:
|
|
branches:
|
|
- '**'
|
|
paths:
|
|
- 'tests/integration/databaseTests/**'
|
|
- 'DocService/sources/databaseConnectors/baseConnector.js'
|
|
- 'DocService/sources/databaseConnectors/oracleConnector.js'
|
|
jobs:
|
|
oracle-tests:
|
|
name: Oracle
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Run Oracle DB docker container
|
|
run: docker run --name oracle -p 8080:1521 -p 8081:5500 -e ORACLE_PASSWORD=admin -e ORACLE_DATABASE=onlyoffice -e APP_USER=onlyoffice -e APP_USER_PASSWORD=onlyoffice -d gvenzl/oracle-xe:21-slim
|
|
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Caching dependencies
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '20'
|
|
cache: 'npm'
|
|
cache-dependency-path: |
|
|
./npm-shrinkwrap.json
|
|
./Common/npm-shrinkwrap.json
|
|
./DocService/npm-shrinkwrap.json
|
|
|
|
- name: Install modules
|
|
run: |
|
|
npm ci
|
|
npm --prefix Common ci
|
|
npm --prefix DocService ci
|
|
|
|
- name: Creating service DB configuration
|
|
run: |
|
|
echo '{"services": {"CoAuthoring": {"sql": {"type": "oracle", "dbHost": "127.0.0.1", "dbPort": "8080", "dbUser": "onlyoffice", "dbPass": "onlyoffice", "dbName": "onlyoffice"}}}}' >> Common/config/local.json
|
|
|
|
- name: Await database service to finish startup
|
|
run: sleep 15
|
|
|
|
- name: Creating schema
|
|
run: |
|
|
docker cp ./schema/oracle/createdb.sql oracle:/
|
|
docker exec oracle sqlplus -s onlyoffice/onlyoffice@//localhost/onlyoffice "@/createdb.sql"
|
|
|
|
- name: Run Jest
|
|
run: npm run "integration database tests"
|