Skip to content

Merge pull request #18 from oracle-samples/fixci #41

Merge pull request #18 from oracle-samples/fixci

Merge pull request #18 from oracle-samples/fixci #41

Workflow file for this run

name: ci
on:
push:
branches: [ main ]
pull_request:
branches:
- '**'
paths-ignore:
- '**/**.md'
jobs:
run-parse-server-ci:
name: CI of Parse Server
timeout-minutes: 60
runs-on: ubuntu-latest
strategy:
matrix:
version: [7.3.0-alpha.7]
steps:
- name: Checkout parse-server ${{ matrix.version }}
uses: actions/checkout@v2
with:
repository: parse-community/parse-server
ref: ${{ matrix.version }}
path: parse-server
- name: Checkout templateCodeAndSpecs
uses: actions/checkout@v2
with:
repository: oracle-samples/oracleadapter-parse
ref: removeTestExclusions
path: oraCodeAndSpecs
- name: Create Oracle Storage Adapter Dir
run: mkdir parse-server/src/Adapters/Storage/Oracle;
ls -la parse-server/src/Adapters/Storage/Oracle;
cp $PWD/oraCodeAndSpecs/*.js $PWD/parse-server/src/Adapters/Storage/Oracle;
ls -la parse-server/src/Adapters/Storage;
ls -la parse-server/src/Adapters/Storage/Oracle;
- name: Install Sqlcl
run: wget https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-23.3.0.270.1251.zip;
unzip sqlcl-23.3.0.270.1251.zip;
./sqlcl/bin/sql -V;
- name: Install Instant Client
run: uname -m;
wget https://download.oracle.com/otn_software/linux/instantclient/2340000/instantclient-basic-linux.x64-23.4.0.24.05.zip;
unzip instantclient-basic-linux.x64-23.4.0.24.05.zip;
ls -la;
ls -la $PWD/instantclient_23_4;
- name: Install libaio1
run: sudo apt-get install libaio1;
- name: Move Oracle Tests
run: ls;
echo $PWD;
ls -la $PWD;
mv $PWD/oraCodeAndSpecs/spec/testExclusionList.json parse-server/spec;
mv $PWD/oraCodeAndSpecs/spec/jasmine.json parse-server/spec/support;
cat parse-server/spec/support/jasmine.json;
- name: Run Free23c
run: docker run --name free23c -d -p 1521:1521 -e ORACLE_PWD=Welcome12345 container-registry.oracle.com/database/free:latest;
docker ps -a;
docker images;
- name: Wait for container
run: sleep 120;
docker ps -a;
./sqlcl/bin/sql -V;
- name: Enable SODA in image
run: echo "alter session set container=FREEPDB1;grant db_developer_role to pdbadmin;grant soda_app to pdbadmin;GRANT UNLIMITED TABLESPACE TO pdbadmin;quit;" > soda;
cat soda;
./sqlcl/bin/sql sys/Welcome12345@localhost:1521/free as sysdba @./soda
- name: Run Tests
run: echo $PWD;
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash;
export NVM_DIR="$HOME/.nvm";
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh";
nvm install v20.12.0;
nvm list;
node --version;
echo "Before setting LIB PATH";
export LD_LIBRARY_PATH=${PWD}/instantclient_23_4;
echo "This is LD LIBRARY PATH";
echo $LD_LIBRARY_PATH;
echo "Run it";
cd parse-server;
cat package.json;
npm install --save @parse/fs-files-adapter;
npm install [email protected];
npm ci;
export UV_THREADPOOL_SIZE=128;
export PARSE_SERVER_TEST_DB=oracle;
export ORACLE_CLIENT_LOCATION=${LD_LIBRARY_PATH};
export PARSE_SERVER_DATABASE_ADAPTER='{"module":"../Adapters/Storage/Oracle/OracleStorageAdapter","options":{"databaseURI":"oracledb://pdbadmin:Welcome12345@localhost:1521/freepdb1","collectionPrefix":"test_"}}';
echo $PARSE_SERVER_DATABASE_ADAPTER;
npm run testonly;
# - name: Dump Container logs
# if: always()
# run: mkdir oralogs;
# docker cp free23c:/opt/oracle/diag/rdbms/free/FREE/trace oralogs;
# docker cp free23c:/opt/oracle/diag/rdbms/free/FREE oradumps;
# ls -la oralogs;
# ls -la oradumps;
# - name: Archive Test Results
# if: always()
# uses: actions/upload-artifact@v1
# with:
# name: containerlogs
# path: oralogs/trace
# - name: Archive Test Results
# if: always()
# uses: actions/upload-artifact@v1
# with:
# name: containerdumps
# path: oradumps
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true