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}}
@@ -34,12 +35,11 @@ jobs:
3435 - id : 2
3536 db_version_name : ' 21XE'
3637 oracle-sid : ' XE'
37- oracle-version : " gvenzl/oracle-xe:21-slim"
38+ oracle-version : " gvenzl/oracle-xe:21-slim-faststart "
3839 - id : 3
3940 db_version_name : ' 23-free'
4041 oracle-sid : ' FREEPDB1'
41- oracle-version : " gvenzl/oracle-free:23.26.0-slim"
42-
42+ oracle-version : " gvenzl/oracle-free:23-slim-faststart"
4343 services :
4444 html_checker :
4545 image : ghcr.io/validator/validator:latest
@@ -67,10 +67,10 @@ jobs:
6767 - uses : actions/checkout@v4
6868 with :
6969 fetch-depth : 0
70- - uses : c-py/action-dotenv-to-setenv@v2
70+ - uses : c-py/action-dotenv-to-setenv@v5
7171 with :
7272 env-file : .github/variables/.env
73- - uses : FranzDiebold/github-env-vars-action@v2 # https://github.com/marketplace/actions/github-environment-variables-action
73+ - uses : FranzDiebold/github-env-vars-action@v2.8.0 # https://github.com/marketplace/actions/github-environment-variables-action
7474
7575 - name : Set build version number env variables
7676 id : set-build-version-number-vars
@@ -87,11 +87,27 @@ jobs:
8787 - name : Update privileges on sources
8888 run : chmod -R go+w ./{source,test,examples,${UTPLSQL_DIR}/source}
8989
90+ - name : Cache OJDBC jars
91+ id : cache-ojdbc
92+ uses : actions/cache@v4
93+ with :
94+ path : ${{ env.OJDBC_HOME }}
95+ key : ${{ runner.os }}-ojdbc-${{ env.OJDBC_URL }}-v1
96+
9097 - name : Add OJDBC home
98+ if : steps.cache-ojdbc.outputs.cache-hit != 'true'
9199 id : get-ojdbc
92100 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
93101
102+ - name : Cache utPLSQL-cli
103+ id : cache-utplsql-cli
104+ uses : actions/cache@v4
105+ with :
106+ path : utPLSQL-cli
107+ key : ${{ runner.os }}-utplsql-cli-v3.1.8
108+
94109 - name : Install utPLSQL-cli
110+ if : steps.cache-utplsql-cli.outputs.cache-hit != 'true'
95111 id : install-utplsql-cli
96112 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
97113
@@ -167,7 +183,7 @@ jobs:
167183 fail_ci_if_error : true # optional (default = false)
168184
169185 - name : Publish unit test results
170- uses : EnricoMi/publish-unit-test-result-action@v1.24
186+ uses : EnricoMi/publish-unit-test-result-action@v2
171187 if : always()
172188 with :
173189 files : junit_test_results.xml
@@ -190,6 +206,7 @@ jobs:
190206 needs : [ build ]
191207 concurrency : publish
192208 runs-on : ubuntu-latest
209+ timeout-minutes : 30
193210 env :
194211 API_TOKEN_GITHUB : ${{ secrets.API_TOKEN_GITHUB }}
195212 if : |
@@ -201,14 +218,14 @@ jobs:
201218 env :
202219 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
203220 run : echo "API_TOKEN_GITHUB=${GITHUB_TOKEN}" >> $GITHUB_ENV
204- - uses : actions/checkout@v2
221+ - uses : actions/checkout@v4
205222 with :
206223 fetch-depth : 0
207224 token : ${{ env.API_TOKEN_GITHUB }}
208- - uses : c-py/action-dotenv-to-setenv@v2
225+ - uses : c-py/action-dotenv-to-setenv@v5
209226 with :
210227 env-file : .github/variables/.env
211- - uses : FranzDiebold/github-env-vars-action@v2 # https://github.com/marketplace/actions/github-environment-variables-action
228+ - uses : FranzDiebold/github-env-vars-action@v2.8.0 # https://github.com/marketplace/actions/github-environment-variables-action
212229
213230 - name : Set buid version number env variables
214231 id : set-build-version-number-vars
@@ -230,6 +247,12 @@ jobs:
230247 git config --global user.email "github-actions[bot]@users.noreply.github.com"
231248 git config --global user.name "github-actions[bot]"
232249
250+ - name : Setup Python for docs
251+ uses : actions/setup-python@v5
252+ with :
253+ python-version : ' 3.11'
254+ cache : ' pip'
255+
233256 - name : Build and publish documentation
234257 run : |
235258 pip install mkdocs
@@ -243,6 +266,7 @@ jobs:
243266 concurrency : trigger
244267 needs : [ build, publish ]
245268 runs-on : ubuntu-latest
269+ timeout-minutes : 15
246270 if : |
247271 github.repository == 'utPLSQL/utPLSQL' && github.base_ref == null &&
248272 ( startsWith( github.ref, 'refs/heads/release/v' ) || github.ref == 'refs/heads/develop' )
@@ -252,7 +276,7 @@ jobs:
252276# repo: [ 'utPLSQL/utPLSQL-v2-v3-migration' ]
253277 steps :
254278 - name : Repository Dispatch
255- uses : peter-evans/repository-dispatch@v1
279+ uses : peter-evans/repository-dispatch@v4
256280 with :
257281 token : ${{ secrets.API_TOKEN_GITHUB }}
258282 repository : ${{ matrix.repo }}
@@ -263,6 +287,7 @@ jobs:
263287 name : Post Workflow Status To Slack
264288 needs : [ build, publish, dispatch ]
265289 runs-on : ubuntu-latest
290+ timeout-minutes : 10
266291 steps :
267292 - name : Slack Workflow Notification
268293 uses : Gamesight/slack-workflow-status@master
0 commit comments