Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 35 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
build:
name: Build and test on ${{matrix.db_version_name}} DB
runs-on: ubuntu-latest
timeout-minutes: 90
env:
ORACLE_VERSION: ${{matrix.oracle-version}}
ORACLE_SID: ${{matrix.oracle-sid}}
Expand All @@ -34,12 +35,11 @@ jobs:
- id: 2
db_version_name: '21XE'
oracle-sid: 'XE'
oracle-version: "gvenzl/oracle-xe:21-slim"
oracle-version: "gvenzl/oracle-xe:21-slim-faststart"
- id: 3
db_version_name: '23-free'
oracle-sid: 'FREEPDB1'
oracle-version: "gvenzl/oracle-free:23.26.0-slim"

oracle-version: "gvenzl/oracle-free:23-slim-faststart"
services:
html_checker:
image: ghcr.io/validator/validator:latest
Expand Down Expand Up @@ -67,10 +67,10 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: c-py/action-dotenv-to-setenv@v2
- uses: c-py/action-dotenv-to-setenv@v5
with:
env-file: .github/variables/.env
- uses: FranzDiebold/github-env-vars-action@v2 #https://github.com/marketplace/actions/github-environment-variables-action
- uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action

- name: Set build version number env variables
id: set-build-version-number-vars
Expand All @@ -87,11 +87,27 @@ jobs:
- name: Update privileges on sources
run: chmod -R go+w ./{source,test,examples,${UTPLSQL_DIR}/source}

- name: Cache OJDBC jars
id: cache-ojdbc
uses: actions/cache@v4
with:
path: ${{ env.OJDBC_HOME }}
key: ${{ runner.os }}-ojdbc-${{ env.OJDBC_URL }}-v1

- name: Add OJDBC home
if: steps.cache-ojdbc.outputs.cache-hit != 'true'
id: get-ojdbc
run: mkdir -p ${OJDBC_HOME} && curl -Lk -o ${OJDBC_HOME}/ojdbc8.jar ${OJDBC_URL}/ojdbc8.jar && curl -Lk -o ${OJDBC_HOME}/orai18n.jar ${OJDBC_URL}/orai18n.jar

- name: Cache utPLSQL-cli
id: cache-utplsql-cli
uses: actions/cache@v4
with:
path: utPLSQL-cli
key: ${{ runner.os }}-utplsql-cli-v3.1.8

- name: Install utPLSQL-cli
if: steps.cache-utplsql-cli.outputs.cache-hit != 'true'
id: install-utplsql-cli
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

Expand Down Expand Up @@ -167,7 +183,7 @@ jobs:
fail_ci_if_error: true # optional (default = false)

- name: Publish unit test results
uses: EnricoMi/publish-unit-test-result-action@v1.24
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
files: junit_test_results.xml
Expand All @@ -190,6 +206,7 @@ jobs:
needs: [ build ]
concurrency: publish
runs-on: ubuntu-latest
timeout-minutes: 30
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
if: |
Expand All @@ -201,14 +218,14 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: echo "API_TOKEN_GITHUB=${GITHUB_TOKEN}" >> $GITHUB_ENV
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ env.API_TOKEN_GITHUB }}
- uses: c-py/action-dotenv-to-setenv@v2
- uses: c-py/action-dotenv-to-setenv@v5
with:
env-file: .github/variables/.env
- uses: FranzDiebold/github-env-vars-action@v2 #https://github.com/marketplace/actions/github-environment-variables-action
- uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action

- name: Set buid version number env variables
id: set-build-version-number-vars
Expand All @@ -230,6 +247,12 @@ jobs:
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"

- name: Setup Python for docs
Comment thread
jgebal marked this conversation as resolved.
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'

- name: Build and publish documentation
run: |
pip install mkdocs
Expand All @@ -243,6 +266,7 @@ jobs:
concurrency: trigger
needs: [ build, publish ]
runs-on: ubuntu-latest
timeout-minutes: 15
if: |
github.repository == 'utPLSQL/utPLSQL' && github.base_ref == null &&
( startsWith( github.ref, 'refs/heads/release/v' ) || github.ref == 'refs/heads/develop' )
Expand All @@ -252,7 +276,7 @@ jobs:
# repo: [ 'utPLSQL/utPLSQL-v2-v3-migration' ]
steps:
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v1
uses: peter-evans/repository-dispatch@v4
with:
token: ${{ secrets.API_TOKEN_GITHUB }}
repository: ${{ matrix.repo }}
Expand All @@ -263,6 +287,7 @@ jobs:
name: Post Workflow Status To Slack
needs: [ build, publish, dispatch ]
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Slack Workflow Notification
uses: Gamesight/slack-workflow-status@master
Expand Down
12 changes: 10 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@ jobs:
name: Upload archives
concurrency: upload
runs-on: ubuntu-latest
timeout-minutes: 60

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: c-py/action-dotenv-to-setenv@v2
- uses: c-py/action-dotenv-to-setenv@v5
with:
env-file: .github/variables/.env
- uses: FranzDiebold/github-env-vars-action@v2 #https://github.com/marketplace/actions/github-environment-variables-action
- uses: FranzDiebold/github-env-vars-action@v2.8.0 #https://github.com/marketplace/actions/github-environment-variables-action

- name: Set build version number env variables
run: .github/scripts/set_release_version_numbers_env.sh
Expand All @@ -35,6 +36,12 @@ jobs:
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"

- name: Setup Python for docs
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'

- name: Build and publish documentation
run: |
pip install mkdocs
Expand Down Expand Up @@ -69,6 +76,7 @@ jobs:
name: Post Workflow Status To Slack
needs: [ upload_artifacts ]
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Slack Workflow Notification
uses: Gamesight/slack-workflow-status@master
Expand Down
46 changes: 24 additions & 22 deletions source/core/types/ut_reporter_base.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -165,52 +165,54 @@
end;

overriding member procedure on_event( self in out nocopy ut_reporter_base, a_event_name varchar2, a_event_item ut_event_item) is
/* Resolves issue with ORA-21779 being thrown see issue: 1309 -> ( https://github.com/utPLSQL/utPLSQL/issues/1309#issuecomment-4020289898 ) */

Check warning on line 168 in source/core/types/ut_reporter_base.tpb

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

This single line comment should use the single line comment syntax "--"

See more on https://sonarcloud.io/project/issues?id=utPLSQL_utPLSQL&issues=AZzSPYa53FRD2v0j_vTu&open=AZzSPYa53FRD2v0j_vTu&pullRequest=1310
l_event_item ut_event_item := a_event_item;
begin
case a_event_name
when ut_event_manager.gc_initialize
then self.on_initialize(treat(a_event_item as ut_run));
then self.on_initialize(treat(l_event_item as ut_run));
when ut_event_manager.gc_before_run
then self.before_calling_run(treat(a_event_item as ut_run));
then self.before_calling_run(treat(l_event_item as ut_run));
when ut_event_manager.gc_before_suite
then self.before_calling_suite(treat(a_event_item as ut_logical_suite));
then self.before_calling_suite(treat(l_event_item as ut_logical_suite));
when ut_event_manager.gc_before_before_all
then self.before_calling_before_all(treat(a_event_item as ut_executable));
then self.before_calling_before_all(treat(l_event_item as ut_executable));
when ut_event_manager.gc_before_before_each
then self.before_calling_before_each(treat(a_event_item as ut_executable));
then self.before_calling_before_each(treat(l_event_item as ut_executable));
when ut_event_manager.gc_before_test
then self.before_calling_test(treat(a_event_item as ut_test));
then self.before_calling_test(treat(l_event_item as ut_test));
when ut_event_manager.gc_before_before_test
then self.before_calling_before_test(treat(a_event_item as ut_executable));
then self.before_calling_before_test(treat(l_event_item as ut_executable));
when ut_event_manager.gc_before_test_execute
then self.before_calling_test_execute(treat(a_event_item as ut_executable));
then self.before_calling_test_execute(treat(l_event_item as ut_executable));
when ut_event_manager.gc_before_after_test
then self.before_calling_after_test(treat(a_event_item as ut_executable));
then self.before_calling_after_test(treat(l_event_item as ut_executable));
when ut_event_manager.gc_before_after_each
then self.before_calling_after_each(treat(a_event_item as ut_executable));
then self.before_calling_after_each(treat(l_event_item as ut_executable));
when ut_event_manager.gc_before_after_all
then self.before_calling_after_all(treat(a_event_item as ut_executable));
then self.before_calling_after_all(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_run
then self.after_calling_run(treat(a_event_item as ut_run));
then self.after_calling_run(treat(l_event_item as ut_run));
when ut_event_manager.gc_after_suite
then self.after_calling_suite(treat(a_event_item as ut_logical_suite));
then self.after_calling_suite(treat(l_event_item as ut_logical_suite));
when ut_event_manager.gc_after_before_all
then self.after_calling_before_all(treat(a_event_item as ut_executable));
then self.after_calling_before_all(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_before_each
then self.after_calling_before_each(treat(a_event_item as ut_executable));
then self.after_calling_before_each(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_test
then self.after_calling_test(treat(a_event_item as ut_test));
then self.after_calling_test(treat(l_event_item as ut_test));
when ut_event_manager.gc_after_before_test
then self.after_calling_before_test(treat(a_event_item as ut_executable));
then self.after_calling_before_test(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_test_execute
then self.after_calling_test_execute(treat(a_event_item as ut_executable));
then self.after_calling_test_execute(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_after_test
then self.after_calling_after_test(treat(a_event_item as ut_executable));
then self.after_calling_after_test(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_after_each
then self.after_calling_after_each(treat(a_event_item as ut_executable));
then self.after_calling_after_each(treat(l_event_item as ut_executable));
when ut_event_manager.gc_after_after_all
then self.after_calling_after_all(treat(a_event_item as ut_executable));
then self.after_calling_after_all(treat(l_event_item as ut_executable));
when ut_event_manager.gc_finalize
then self.on_finalize(treat(a_event_item as ut_run));
then self.on_finalize(treat(l_event_item as ut_run));
else null;
end case;
end;
Expand Down