Skip to content

Commit

Permalink
The new and improved ci.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
ddrechse authored Apr 26, 2024
1 parent 0f9f919 commit a30411b
Showing 1 changed file with 55 additions and 66 deletions.
121 changes: 55 additions & 66 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
# version: ['5.6.0', '6.3.1']
version: ['alpha']
version: ['7.0.0']
steps:
- name: Checkout parse-server ${{ matrix.version }}
uses: actions/checkout@v2
with:
repository: ddrechse/parse-server
ref: realDBAdapterLoader
repository: parse-community/parse-server
ref: 7.0.0
path: parse-server
- name: Create Oracle Storage Adapter Dir
run: mkdir parse-server/src/Adapters/Storage/Oracle;
Expand All @@ -33,104 +32,94 @@ jobs:
ref: ''
path: parse-server/src/Adapters/Storage/Oracle
- name: Validate Oracle Dir
run: ls -la parse-server/src/Adapters/Storage/Oracle;
- name: Upload 23 Instant Client
run: pip install gdown;
gdown --id 1wMQjFXGQz8LnWiZCMuqTi2l_8YP1Aqtt;
ls -la;
chmod 777 basic.zip;
unzip basic.zip;
ls -la;
ls -la instantclient_23_4;
run: echo $PWD;
ls -la parse-server/src/Adapters/Storage;
ls -la parse-server/src/Adapters/Storage/Oracle;
cd parse-server/src/Adapters/Storage/Oracle;
rm -rf .git;
- 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/2113000/instantclient-basic-linux.x64-21.13.0.0.0dbru.zip;
# unzip instantclient-basic-linux.x64-21.13.0.0.0dbru.zip;
# ls -la;
# ls -la $PWD/instantclient_21_13;
# ls -la /home/runner/work/parse-server-database-adapter-template/parse-server-database-adapter-template/instantclient_21_13;
- name: Install Instant Client
run: uname -m;
wget https://download.oracle.com/otn_software/linux/instantclient/1923000/instantclient-basic-linux.x64-19.23.0.0.0dbru.zip;
unzip instantclient-basic-linux.x64-19.23.0.0.0dbru.zip;
ls -la;
ls -la $PWD/instantclient_19_23;
- name: Install libaio1
run: sudo apt-get install libaio1;
- name: Checkout OraSepcs
- name: Checkout templateSpecs
uses: actions/checkout@v2
with:
repository: ddrechse/parse-server
ref: oraSpecs
path: ora-specs
- name: Validate oraSpecs
run: ls -la ora-specs;
cp -R ./ora-specs/spec ./parse-server;
ls -la parse-server/spec;
- name: Checkout package.json
uses: actions/checkout@v2
with:
repository: ddrechse/parse-server-database-adapter-template
repository: ddrechse/privateAdapterTemplate
ref: ''
path: parse-server-database-adapter-template
path: privateAdapterTemplate
- name: Move package.json, OracleStorageAdapter and OracleCollection
run: ls;
ls -la parse-server-database-adapter-template;
cp parse-server-database-adapter-template/package.json parse-server;
cp parse-server-database-adapter-template/OracleStorageAdapter.js parse-server/src/Adapters/Storage/Oracle;
cp parse-server-database-adapter-template/OracleCollection.js parse-server/src/Adapters/Storage/Oracle;
cat parse-server/src/Adapters/Storage/Oracle/OracleCollection.js;
ls -la parse-server;
cat parse-server/spec/helper.js
echo $PWD;
ls -la $PWD;
cp privateAdapterTemplate/package.json parse-server;
rm -rf parse-server/spec;
mv privateAdapterTemplate/spec parse-server;
cat parse-server/spec/helper.js
- 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 info;
docker images;
- name: Wait for container
run: sleep 120;
docker ps -a;
./sqlcl/bin/sql -V;
- name: Enable SODA in image
run: echo "alter system set pga_aggregate_limit=4G scope=memory;alter session set container=FREEPDB1;grant db_developer_role to pdbadmin;grant soda_app to pdbadmin;GRANT UNLIMITED TABLESPACE TO pdbadmin;quit;" > soda;
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;
export LD_LIBRARY_PATH=${PWD}/instantclient_19_23;
echo "This is LD LIBRARY PATH";
echo $LD_LIBRARY_PATH;
echo "All Suites";
echo "Again";
cd parse-server;
cat package.json;
npm install;
npm install --save @parse/fs-files-adapter;
npm install [email protected];
export NODE_ORACLEDB_DEBUG_PACKETS=1;
npm install [email protected];
npm ci;
export ORACLEDB_VERSION=19;
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;
ORACLE_CLIENT_LOCATION=${LD_LIBRARY_PATH} npm run testoracle;
mkdir oralogs;
# mkdir oralogs;
# docker cp free23c:</opt/oracle/diag/rdbms/free/FREE/trace/alert_*.log oralogs;
# ls -la oralogs;
- 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
# - 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

0 comments on commit a30411b

Please sign in to comment.