1717 build :
1818 name : Build and test on ${{matrix.db_version_name}} DB
1919 runs-on : ubuntu-latest
20+ timeout-minutes : 90
2021 env :
2122 ORACLE_VERSION : ${{matrix.oracle-version}}
2223 ORACLE_SID : ${{matrix.oracle-sid}}
@@ -68,13 +69,13 @@ jobs:
6869 --health-cmd healthcheck.sh
6970
7071 steps :
71- - uses : actions/checkout@v2
72+ - uses : actions/checkout@v4
7273 with :
7374 fetch-depth : 0
74- - uses : c-py/action-dotenv-to-setenv@v2
75+ - uses : c-py/action-dotenv-to-setenv@v5
7576 with :
7677 env-file : .github/variables/.env
77- - uses : FranzDiebold/github-env-vars-action@v2 # https://github.com/marketplace/actions/github-environment-variables-action
78+ - uses : FranzDiebold/github-env-vars-action@v2.8.0 # https://github.com/marketplace/actions/github-environment-variables-action
7879
7980 - name : Set build version number env variables
8081 id : set-build-version-number-vars
@@ -91,11 +92,27 @@ jobs:
9192 - name : Update privileges on sources
9293 run : chmod -R go+w ./{source,test,examples,${UTPLSQL_DIR}/source}
9394
95+ - name : Cache OJDBC jars
96+ id : cache-ojdbc
97+ uses : actions/cache@v4
98+ with :
99+ path : ${{ env.OJDBC_HOME }}
100+ key : ${{ runner.os }}-ojdbc-${{ env.OJDBC_URL }}-v1
101+
94102 - name : Add OJDBC home
103+ if : steps.cache-ojdbc.outputs.cache-hit != 'true'
95104 id : get-ojdbc
96105 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
97106
107+ - name : Cache utPLSQL-cli
108+ id : cache-utplsql-cli
109+ uses : actions/cache@v4
110+ with :
111+ path : utPLSQL-cli
112+ key : ${{ runner.os }}-utplsql-cli-v3.1.8
113+
98114 - name : Install utPLSQL-cli
115+ if : steps.cache-utplsql-cli.outputs.cache-hit != 'true'
99116 id : install-utplsql-cli
100117 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
101118
@@ -152,7 +169,7 @@ jobs:
152169 - name : Upload ORACLE_BASE/diag data Artifact
153170 id : upload
154171 if : ${{ always() && steps.run-tests.outcome == 'failure' }}
155- uses : actions/upload-artifact@v2
172+ uses : actions/upload-artifact@v4
156173 with :
157174 name : my-artifact$-${{matrix.db_version_name}}
158175 path : ${{github.workspace}}/database-diag
@@ -163,23 +180,23 @@ jobs:
163180 run : bash .github/scripts/validate_report_files.sh
164181
165182 - name : Codecov
166- uses : codecov/codecov-action@v2
183+ uses : codecov/codecov-action@v5
167184 with :
168185 token : ${{ secrets.CODECOV_TOKEN }} # not required for public repos
169186 files : ./cobertura.xml
170187 flags : ${{matrix.db_version_name}}
171188 fail_ci_if_error : true # optional (default = false)
172189
173190 - name : Publish unit test results
174- uses : EnricoMi/publish-unit-test-result-action@v1.24
191+ uses : EnricoMi/publish-unit-test-result-action@v2
175192 if : always()
176193 with :
177194 files : junit_test_results.xml
178195
179196 - name : SonarCloud Scan
180197 id : sonar
181198 if : ${{ always() && matrix.db_version_name == '21XE' }}
182- uses : SonarSource/sonarcloud-github-action@master
199+ uses : SonarSource/sonarcloud-github-action@v5.0.0
183200 env :
184201 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
185202 SONAR_TOKEN : ${{ secrets.SONAR_TOKEN }}
@@ -194,6 +211,7 @@ jobs:
194211 needs : [ build ]
195212 concurrency : publish
196213 runs-on : ubuntu-latest
214+ timeout-minutes : 30
197215 env :
198216 API_TOKEN_GITHUB : ${{ secrets.API_TOKEN_GITHUB }}
199217 if : |
@@ -205,14 +223,14 @@ jobs:
205223 env :
206224 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
207225 run : echo "API_TOKEN_GITHUB=${GITHUB_TOKEN}" >> $GITHUB_ENV
208- - uses : actions/checkout@v2
226+ - uses : actions/checkout@v4
209227 with :
210228 fetch-depth : 0
211229 token : ${{ env.API_TOKEN_GITHUB }}
212- - uses : c-py/action-dotenv-to-setenv@v2
230+ - uses : c-py/action-dotenv-to-setenv@v5
213231 with :
214232 env-file : .github/variables/.env
215- - uses : FranzDiebold/github-env-vars-action@v2 # https://github.com/marketplace/actions/github-environment-variables-action
233+ - uses : FranzDiebold/github-env-vars-action@v2.8.0 # https://github.com/marketplace/actions/github-environment-variables-action
216234
217235 - name : Set buid version number env variables
218236 id : set-build-version-number-vars
@@ -234,6 +252,12 @@ jobs:
234252 git config --global user.email "github-actions[bot]@users.noreply.github.com"
235253 git config --global user.name "github-actions[bot]"
236254
255+ - name : Setup Python for docs
256+ uses : actions/setup-python@v5
257+ with :
258+ python-version : ' 3.11'
259+ cache : ' pip'
260+
237261 - name : Build and publish documentation
238262 run : |
239263 pip install mkdocs
@@ -247,6 +271,7 @@ jobs:
247271 concurrency : trigger
248272 needs : [ build, publish ]
249273 runs-on : ubuntu-latest
274+ timeout-minutes : 15
250275 if : |
251276 github.repository == 'utPLSQL/utPLSQL' && github.base_ref == null &&
252277 ( startsWith( github.ref, 'refs/heads/release/v' ) || github.ref == 'refs/heads/develop' )
@@ -256,7 +281,7 @@ jobs:
256281# repo: [ 'utPLSQL/utPLSQL-v2-v3-migration' ]
257282 steps :
258283 - name : Repository Dispatch
259- uses : peter-evans/repository-dispatch@v1
284+ uses : peter-evans/repository-dispatch@v4
260285 with :
261286 token : ${{ secrets.API_TOKEN_GITHUB }}
262287 repository : ${{ matrix.repo }}
@@ -267,9 +292,10 @@ jobs:
267292 name : Post Workflow Status To Slack
268293 needs : [ build, publish, dispatch ]
269294 runs-on : ubuntu-latest
295+ timeout-minutes : 10
270296 steps :
271297 - name : Slack Workflow Notification
272- uses : Gamesight/slack-workflow-status@master
298+ uses : Gamesight/slack-workflow-status@v1.3.0
273299 with :
274300 repo_token : ${{secrets.GITHUB_TOKEN}}
275301 slack_webhook_url : ${{secrets.SLACK_WEBHOOK_URL}}
0 commit comments