9
9
GORM_ORACLEDB_USER : ${{ secrets.GORM_ORACLEDB_USER }}
10
10
GORM_ORACLEDB_PASSWORD : ${{ secrets.GORM_ORACLEDB_PASSWORD }}
11
11
GORM_ORACLEDB_CONNECTSTRING : ${{ secrets.GORM_ORACLEDB_CONNECTSTRING }}
12
+ GORM_SYS_PASSOWRD : ${{ secrets.GORM_SYS_PASSOWRD }}
12
13
GORM_ORACLEDB_LIBDIR : /home/runner/work/_temp/instantclient_23_9
13
14
services :
14
15
oracle :
15
16
image : gvenzl/oracle-free:latest
16
17
env :
17
18
APP_USER : ${{ env.GORM_ORACLEDB_USER }}
18
19
APP_USER_PASSWORD : ${{ env.GORM_ORACLEDB_PASSWORD }}
19
- ORACLE_RANDOM_PASSWORD : yes
20
+ ORACLE_PASSWORD : ${{ env.GORM_SYS_PASSOWRD }}
20
21
ports :
21
22
- 1521:1521
22
23
steps :
@@ -29,15 +30,38 @@ jobs:
29
30
- name : Install Oracle Instant Client
30
31
run : |
31
32
cd $RUNNER_TEMP
32
- # Download the desired Oracle Instant Client zip files
33
+ # Download the desired Oracle Instant Client zip files and SQL*Plus packages
33
34
curl -sSfLO "https://download.oracle.com/otn_software/linux/instantclient/2390000/instantclient-basic-linux.x64-23.9.0.25.07.zip"
35
+ curl -sSfLO "https://download.oracle.com/otn_software/linux/instantclient/2390000/instantclient-sqlplus-linux.x64-23.9.0.25.07.zip"
34
36
# Unzip the packages into a single directory
35
37
unzip -q -o "instantclient-basic-linux.x64-23.9.0.25.07.zip"
38
+ unzip -q -o "instantclient-sqlplus-linux.x64-23.9.0.25.07.zip"
36
39
# Install the operating system libaio package
37
40
sudo ln -s /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1
38
41
# Update the runtime link path
39
42
echo "/home/runner/work/_temp/instantclient_23_9" | sudo tee /etc/ld.so.conf.d/oracle-instantclient.conf
40
43
sudo ldconfig
44
+
45
+ - name : Wait for Oracle to be ready
46
+ run : |
47
+ # Wait until Oracle is accepting connections
48
+ for i in {1..30}; do
49
+ if docker exec $(docker ps -qf "ancestor=gvenzl/oracle-free:latest") \
50
+ bash -c "echo exit | sqlplus -s / as sysdba" >/dev/null 2>&1; then
51
+ echo "Oracle is ready!"
52
+ break
53
+ fi
54
+ echo "Waiting for Oracle..."
55
+ sleep 10
56
+ done
57
+
58
+ - name : Alter user quota on tablespace SYSAUX
59
+ run : |
60
+ cat <<EOF > alter_user.sql
61
+ ALTER USER $GORM_ORACLEDB_USER QUOTA UNLIMITED ON SYSAUX;
62
+ EOF
63
+
64
+ $GORM_ORACLEDB_LIBDIR/sqlplus -s "sys/${GORM_SYS_PASSOWRD}@${GORM_ORACLEDB_CONNECTSTRING} AS SYSDBA" @alter_user.sql
41
65
42
66
- name : Checkout
43
67
uses : actions/checkout@v4
0 commit comments