Skip to content

Commit cbcb4ea

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into fail_on_err_par
2 parents dc23606 + efc5ba8 commit cbcb4ea

27 files changed

Lines changed: 67 additions & 128 deletions

.github/workflows/build.yml

Lines changed: 19 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -28,41 +28,17 @@ jobs:
2828
matrix:
2929
include:
3030
- id: 1
31-
db_version_name: '11XE'
32-
oracle-sid: 'XE'
33-
oracle-version: "gvenzl/oracle-xe:11-full"
34-
oracle-base: '/u01/app/oracle'
35-
- id: 2
36-
db_version_name: '12.1EE'
31+
db_version_name: '19se'
3732
oracle-sid: 'ORCLCDB'
38-
oracle-version: "utplsqlv3/oracledb:12c-r1-ee-small"
39-
oracle-base: '/opt/oracle'
40-
# - id: 3
41-
# db_version_name: '12.2se'
42-
# oracle-sid: 'ORCLCDB'
43-
# oracle-version: "utplsqlv3/oracledb:12c-r2-se2-small"
44-
# oracle-base: '/opt/oracle'
45-
- id: 4
46-
db_version_name: '18XE'
47-
oracle-sid: 'XE'
48-
oracle-version: "gvenzl/oracle-xe:18-slim"
49-
oracle-base: '/opt/oracle'
50-
# TODO - need to add healthcheck.sh into our containers
51-
# - id: 5
52-
# db_version_name: '19se'
53-
# oracle-sid: 'ORCLCDB'
54-
# oracle-version: "utplsqlv3/oracledb:19c-se2-small"
55-
# oracle-base: '/opt/oracle'
56-
- id: 6
33+
oracle-version: "utplsqlv3/oracledb:19c-se2-small"
34+
- id: 2
5735
db_version_name: '21XE'
5836
oracle-sid: 'XE'
5937
oracle-version: "gvenzl/oracle-xe:21-slim"
60-
oracle-base: '/opt/oracle'
61-
- id: 7
62-
db_version_name: '23free'
38+
- id: 3
39+
db_version_name: '23-free'
6340
oracle-sid: 'FREEPDB1'
64-
oracle-version: "gvenzl/oracle-free:23-slim"
65-
oracle-base: '/opt/oracle'
41+
oracle-version: "gvenzl/oracle-free:23.26.0-slim"
6642

6743
services:
6844
html_checker:
@@ -117,46 +93,46 @@ jobs:
11793

11894
- name: Install utPLSQL-cli
11995
id: install-utplsql-cli
120-
run: curl -Lk -o utPLSQL-cli.zip "https://github.com/utPLSQL/utPLSQL-cli/releases/download/v3.1.8/utPLSQL-cli.zip" && unzip utPLSQL-cli.zip && chmod -R u+x utPLSQL-cli
96+
run: curl -Lk -o utPLSQL-cli.zip "https://github.com/utPLSQL/utPLSQL-cli/releases/download/3.1.9/utPLSQL-cli.zip" && unzip utPLSQL-cli.zip && chmod -R u+x utPLSQL-cli
12197

12298
- name: Install utPLSQL
12399
id: install-utplsql
124-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} .github/scripts/install.sh
100+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle .github/scripts/install.sh
125101

126102
- name: Check code style
127103
if: ${{ matrix.id == 1 }}
128104
id: check-coding-style
129-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint "$SQLCLI" ${DOCKER_ENV} ${ORACLE_VERSION} $UT3_DEVELOP_SCHEMA/$UT3_DEVELOP_SCHEMA_PASSWORD@//$CONNECTION_STR @development/utplsql_style_check.sql
105+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle "$SQLCLI" ${UT3_DEVELOP_SCHEMA}/${UT3_DEVELOP_SCHEMA_PASSWORD}@//${CONNECTION_STR} @/utPLSQL/development/utplsql_style_check.sql
130106

131107
- name: Validate utPLSQL uninstall
132108
if: ${{ matrix.id == 1 }}
133109
id: validate-uninstall
134-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} .github/scripts/uninstall_validate_utplsql.sh
110+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle .github/scripts/uninstall_validate_utplsql.sh
135111

136112
- name: Reinstall utPLSQL
137113
if: ${{ matrix.id == 1 }}
138114
id: reinstall-utplsql
139-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} .github/scripts/install.sh
115+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle .github/scripts/install.sh
140116

141117
- name: Create test users
142118
id: create-test-users
143-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} .github/scripts/create_test_users.sh
119+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle .github/scripts/create_test_users.sh
144120

145121
- name: Install utPLSQL release
146122
id: install-utplsql-release
147-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} .github/scripts/install_utplsql_release.sh
123+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle .github/scripts/install_utplsql_release.sh
148124

149125
- name: Run Examples
150126
id: run-examples
151-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} .github/scripts/run_examples.sh
127+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle .github/scripts/run_examples.sh
152128

153129
- name: Install tests
154130
id: install-tests
155-
run: docker run --rm -v $(pwd):/utPLSQL -w /utPLSQL --network host --entrypoint bash ${DOCKER_ENV} ${ORACLE_VERSION} test/install_tests.sh
131+
run: docker exec -w /utPLSQL ${DOCKER_ENV} oracle test/install_tests.sh
156132

157133
- name: Run Tests
158134
id: run-tests
159-
run: bash test/run_tests.sh
135+
run: test/run_tests.sh
160136

161137
#Start Needed to diagnose occasional failures of DB on test runs
162138
- name: Prepare diagnostic directory
@@ -198,15 +174,15 @@ jobs:
198174

199175
- name: SonarCloud Scan
200176
id: sonar
201-
if: ${{ always() && matrix.db_version_name == '21XE' }}
202-
uses: SonarSource/sonarcloud-github-action@master
177+
if: ${{ always() && matrix.db_version_name == '23-free' }}
178+
uses: SonarSource/sonarqube-scan-action@master
203179
env:
204180
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
205181
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
206182
with:
207183
args: >
208184
-Dsonar.buildString=${{ format( '{0}.{1}', env.UTPLSQL_BUILD_VERSION, matrix.id ) }}
209-
-Dsonar.plsql.jdbc.url=${{ format( 'jdbc:oracle:thin:@//oracle:1521/{0}', env.ORACLE_SID ) }}
185+
-Dsonar.plsql.jdbc.url=${{ format( 'jdbc:oracle:thin:@//localhost:1521/{0}', env.ORACLE_SID ) }}
210186
-Dsonar.plsql.jdbc.driver.path=${{ format( '{0}/ojdbc8.jar', env.OJDBC_HOME ) }}
211187
212188
publish:

BUILD_NO

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4206
1+
4259

CONTRIBUTING.md

Lines changed: 16 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ To get started with development, follow the below steps.
5757

5858
_If you're using Windows, run the shell scripts using `GIT bash` - Windows-based bash command line._
5959

60-
**Caution**: If you are using jetBrains DataGrip, don't use the ingegrated console to run the shell scripts (not even with GIT bash configured). It might disconnect from oracle randomly during script-run.
60+
**Caution**: If you are using jetBrains DataGrip, don't use the integrated console to run the shell scripts (not even with GIT bash configured). It might disconnect from oracle randomly during script-run.
6161

6262
### Clone your fork of utPLSQL git repository
6363

@@ -94,13 +94,13 @@ export ORACLE_PWD=oracle # Adjust your local SYS password
9494

9595
The below script is fetching latest release version from utPLSQL repository. Latest release version is used for self-testing.
9696
```bash
97-
development/refresh_sources.sh
97+
./development/refresh_sources.sh
9898
```
9999

100100
### Setup local database for utPLSQL development
101101

102102
```bash
103-
development/install.sh
103+
./development/install.sh
104104
```
105105

106106
### That's it
@@ -135,18 +135,18 @@ Whenever a new version of utPLSQL or a new version of utPLSQL-cli is available,
135135

136136
utPLSQL v3 unit tests are located in the `test` directory
137137

138-
Before you push any changes and create a pull request to the utPLSQL project repository, make sure that all of the tests are executing successfully in your local environment.
138+
Before you push any changes and create a pull request to the utPLSQL project repository, make sure that all the tests are executing successfully in your local environment.
139139

140-
Every new functionality needs to be documented by unit tests that cover both happy-path scenarios as well as edge-cases and exception paths.
140+
Every new functionality needs to be documented by unit tests that cover happy-path scenarios as well as edge-cases and exception paths.
141141

142142
> **Important notice:**
143143
> We do our best to keep utPLSQL covered with unit tests.
144144
> Lack of sufficient unit testing is a perfect reason for PR to be rejected.
145145
146146
To run a full suite of unit tests execute:
147147
```bash
148-
development/env.sh
149-
test/install_and_run_tests.sh
148+
. ./development/env.sh
149+
./test/install_and_run_tests.sh
150150
```
151151

152152
You can review the results of tests as well as see information about code coverage in `./coverage.html` file.
@@ -162,45 +162,20 @@ Dependencies to `ut_util` are not shown as most of modules are depending on it.
162162

163163
## Build Environment
164164

165-
We are using private docker images to test utPLSQL for our Travis CI builds. The following versions of Oracle Database are being used.
165+
We are using a combination of private and publicly available docker images to test utPLSQL. The following versions of Oracle Database are used for testing:
166166

167-
* 11g XE R2
168-
* 12c SE R1
169-
* 12c SE R2
170-
* 18c SE
167+
* 19c-Standard Edition (private image)
168+
* 21-free
169+
* 23-free
171170

172-
These images are based on the slimmed versions [official dockerfiles released by Oracle](https://github.com/utPLSQL/docker-scripts), but due to licensing restrictions, we can't make the images public.
173-
You can build your own and use it locally, or push to a private docker repository.
174-
175-
The build steps are simple if you already have some experience using Docker. You can find detailed information about how to build your own image with a running database in: [example of creating an image with pre-built DB](https://github.com/oracle/docker-images/blob/master/OracleDatabase/samples/prebuiltdb/README.md)
176-
177-
> You can find more info about the official Oracle images on the [Oracle Database on Docker](https://github.com/oracle/docker-images/tree/master/OracleDatabase) GitHub page.
178-
179-
> If you are new to Docker, you can start by reading the [Getting Started With Docker](https://docs.docker.com/engine/getstarted/) docs.
180-
181-
### Docker Build Notes
182-
183-
* You need to comment out the VOLUME line. This step is required, because volumes are not saved when using `docker commit` command.
184-
* When the build process is complete, you will run the container to install the database. Once everything is set up and you see the message "DATABASE IS READY!", you may change the password and stop the running container. After the container is stopped, you can safely commit the container.
185-
* You can use the --squash experimental docker tag to reduce the image size. Example:
186-
```
187-
docker build --force-rm --no-cache --squash -t oracle/db-prebuilt .
188-
```
189-
190-
Travis will use your Docker Hub credentials to pull the private images, and the following secure environment variables must be defined.
191-
192-
Variable | Description
193-
---------|------------
194-
**DOCKER_USER**<br />**DOCKER_PASSWORD** | _Your Docker Hub website credentials. They will be used to pull the private database images._
171+
The Free varsions are publicly available and you can set up your local development environment to use one of from [here](https://github.com/gvenzl/oci-oracle-free)
195172

196-
### SQLCL
173+
These [private image]((https://github.com/utPLSQL/docker-scripts) is a slimmed version of [the official Oracle database dockerfiles](https://github.com/oracle/docker-images/tree/master/OracleDatabase) . Due to licensing restrictions, the image cannot be public.
197174

198-
Our build configuration uses SQLCL to run the scripts, and you need to configure a few additional secure environment variables. After the first build, the downloaded file will be cached.
199-
200-
Variable | Description
201-
---------|------------
202-
**ORACLE_OTN_USER<br />ORACLE_OTN_PASSWORD** | _Your Oracle website credentials. They will be used to download SQLCL._
175+
You can build your own and use it locally, or push to a private docker repository.
176+
The build steps are simple if you already have some experience using Docker. You can find detailed information about how to build your own image with a running database in: [example of creating an image with pre-built DB](https://github.com/oracle/docker-images/blob/master/OracleDatabase/samples/prebuiltdb/README.md)
203177

178+
> If you are new to Docker, you can start by reading the [Getting Started With Docker](https://docs.docker.com/get-started/) docs.
204179
205180
## New to GIT
206181

development/template.env.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#!/bin/bash
22

3-
export SQLCLI=sql # For sqlcl client
4-
#export SQLCLI=sqlplus # For sqlplus client
5-
export CONNECTION_STR=127.0.0.1:1521/xe ORACLE_VERSION=11g-r2-xe# Adjust the connect string
6-
export ORACLE_PWD=oracle # Adjust your local SYS password
7-
export UTPLSQL_CLI_VERSION="3.1.6"
3+
export SQLCLI=sql # For sqlcl client
4+
#export SQLCLI=sqlplus # For sqlplus client
5+
export CONNECTION_STR=127.0.0.1:1521/xe # Adjust the connect string
6+
export ORACLE_PWD=oracle # Adjust your local SYS password
7+
export UTPLSQL_CLI_VERSION="v3.1.8"
88
export SELFTESTING_BRANCH=develop
99

1010
export UTPLSQL_DIR="utPLSQL_latest_release"

docs/about/authors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![version](https://img.shields.io/badge/version-v3.1.14.4206--develop-blue.svg)
1+
![version](https://img.shields.io/badge/version-v3.1.14.4259--develop-blue.svg)
22

33
### utPLSQL v3 Major Contributors
44

docs/about/license.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![version](https://img.shields.io/badge/version-v3.1.14.4206--develop-blue.svg)
1+
![version](https://img.shields.io/badge/version-v3.1.14.4259--develop-blue.svg)
22

33
# Version Information
44

docs/about/project-details.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![version](https://img.shields.io/badge/version-v3.1.14.4206--develop-blue.svg)
1+
![version](https://img.shields.io/badge/version-v3.1.14.4259--develop-blue.svg)
22

33
# utPLSQL Project Details
44

docs/about/support.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![version](https://img.shields.io/badge/version-v3.1.14.4206--develop-blue.svg)
1+
![version](https://img.shields.io/badge/version-v3.1.14.4259--develop-blue.svg)
22

33
# How to get support
44

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![version](https://img.shields.io/badge/version-v3.1.14.4206--develop-blue.svg)
1+
![version](https://img.shields.io/badge/version-v3.1.14.4259--develop-blue.svg)
22

33
## What is utPLSQL
44

docs/userguide/advanced_data_comparison.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![version](https://img.shields.io/badge/version-v3.1.14.4206--develop-blue.svg)
1+
![version](https://img.shields.io/badge/version-v3.1.14.4259--develop-blue.svg)
22

33
# Advanced data comparison
44

0 commit comments

Comments
 (0)