Skip to content

Commit 8a0aa7d

Browse files
authored
Merge pull request #202 from utPLSQL/feature/github_actions
Feature/GitHub actions
2 parents 5fa8d38 + 51158d0 commit 8a0aa7d

File tree

7 files changed

+103
-17
lines changed

7 files changed

+103
-17
lines changed

.github/workflows/build.yml

+87
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: Build and test
2+
on:
3+
push:
4+
branches: [ develop, feature/github_actions ]
5+
tags:
6+
- v*
7+
pull_request:
8+
branches: [ develop ]
9+
workflow_dispatch:
10+
repository_dispatch:
11+
types: [utPLSQL-build]
12+
13+
defaults:
14+
run:
15+
shell: bash
16+
17+
jobs:
18+
build:
19+
name: Test on JDK ${{ matrix.jdk }} with utPLSQL ${{ matrix.utplsql_version }}
20+
runs-on: ubuntu-latest
21+
env:
22+
ORACLE_VERSION: "gvenzl/oracle-xe:18.4.0-slim"
23+
UTPLSQL_VERSION: ${{matrix.utplsql_version}}
24+
UTPLSQL_FILE: ${{matrix.utplsql_file}}
25+
ORACLE_PASSWORD: oracle
26+
DB_URL: "127.0.0.1:1521:XE"
27+
DB_USER: app
28+
DB_PASS: app
29+
30+
strategy:
31+
fail-fast: false
32+
matrix:
33+
utplsql_version: ["v3.0.1","v3.0.2","v3.0.3","v3.0.4","v3.1.1","v3.1.2","v3.1.3","v3.1.6","v3.1.7","v3.1.8","v3.1.9","v3.1.10","v3.1.11","develop"]
34+
utplsql_file: ["utPLSQL"]
35+
jdk: ['8']
36+
include:
37+
- utplsql_version: "v3.0.0"
38+
jdk: '8'
39+
utplsql_file: "utPLSQLv3.0.0"
40+
services:
41+
oracle:
42+
image: gvenzl/oracle-xe:18.4.0-slim
43+
env:
44+
ORACLE_PASSWORD: oracle
45+
ports:
46+
- 1521:1521
47+
options: >-
48+
--health-cmd healthcheck.sh
49+
--health-interval 10s
50+
--health-timeout 5s
51+
--health-retries 10
52+
--name oracle
53+
54+
steps:
55+
- uses: actions/checkout@v2
56+
with:
57+
fetch-depth: 0
58+
- uses: actions/setup-java@v2
59+
with:
60+
distribution: 'adopt'
61+
java-version: ${{matrix.jdk}}
62+
cache: 'maven'
63+
64+
- name: Install utplsql
65+
run: .travis/install_utplsql.sh
66+
67+
- name: Install demo project
68+
run: .travis/install_demo_project.sh
69+
70+
- name: Build
71+
run: mvn package -DskipTests
72+
- name: Test
73+
run: mvn package verify jar:jar appassembler:assemble
74+
75+
slack-workflow-status:
76+
if: always()
77+
name: Post Workflow Status To Slack
78+
needs: [ build ]
79+
runs-on: ubuntu-latest
80+
steps:
81+
- name: Slack Workflow Notification
82+
uses: Gamesight/slack-workflow-status@master
83+
with:
84+
repo_token: ${{secrets.GITHUB_TOKEN}}
85+
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
86+
name: 'Github Actions[bot]'
87+
icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png'

.travis/create_api_user.sh

100644100755
File mode changed.

.travis/create_release.sh

100644100755
File mode changed.

.travis/install_demo_project.sh

100644100755
+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash
2-
set -ev
2+
set -evx
33
cd $(dirname $(readlink -f $0))
44

55
PROJECT_FILE="utPLSQL-demo-project"
@@ -13,7 +13,7 @@ grant select any dictionary to ${DB_USER};
1313
exit
1414
SQL
1515
16-
cd ${PROJECT_FILE}
16+
cd /${PROJECT_FILE}
1717
sqlplus -S -L ${DB_USER}/${DB_PASS}@//127.0.0.1:1521/xe <<SQL
1818
whenever sqlerror exit failure rollback
1919
whenever oserror exit failure rollback
@@ -39,6 +39,6 @@ exit
3939
SQL
4040
EOF
4141

42-
docker cp ./$PROJECT_FILE $ORACLE_VERSION:/$PROJECT_FILE
43-
docker cp ./demo_project.sh.tmp $ORACLE_VERSION:/demo_project.sh
44-
docker exec $ORACLE_VERSION bash demo_project.sh
42+
docker cp ./${PROJECT_FILE} oracle:/${PROJECT_FILE}
43+
docker cp ./demo_project.sh.tmp oracle:/demo_project.sh
44+
docker exec oracle bash /demo_project.sh

.travis/install_utplsql.sh

100644100755
+10-11
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,30 @@ cd $(dirname $(readlink -f $0))
44

55
# Download the specified version of utPLSQL.
66
if [ "$UTPLSQL_VERSION" == "develop" ]
7-
then
8-
git clone -b develop --single-branch https://github.com/utPLSQL/utPLSQL.git
9-
tar -czf $UTPLSQL_FILE.tar.gz $UTPLSQL_FILE && rm -rf $UTPLSQL_FILE
7+
then
8+
git clone -b develop --single-branch https://github.com/utPLSQL/utPLSQL.git
109
else
1110
curl -L -O "https://github.com/utPLSQL/utPLSQL/releases/download/$UTPLSQL_VERSION/$UTPLSQL_FILE.tar.gz"
11+
tar -xzf ${UTPLSQL_FILE}.tar.gz && rm ${UTPLSQL_FILE}.tar.gz
1212
fi
1313

14+
chmod -R go+w ./${UTPLSQL_FILE}/{source,examples}
1415
# Create a temporary install script.
1516
cat > install.sh.tmp <<EOF
16-
tar -xzf ${UTPLSQL_FILE}.tar.gz && rm ${UTPLSQL_FILE}.tar.gz
17-
cd ${UTPLSQL_FILE}/source
17+
cd /${UTPLSQL_FILE}/source
1818
sqlplus -S -L sys/oracle@//127.0.0.1:1521/xe AS SYSDBA @install_headless.sql ut3 ut3 users
1919
EOF
2020

2121
# Copy utPLSQL files to the container and install it.
22-
docker cp ./$UTPLSQL_FILE.tar.gz $ORACLE_VERSION:/$UTPLSQL_FILE.tar.gz
22+
docker cp ./${UTPLSQL_FILE} oracle:/${UTPLSQL_FILE}
2323
# docker cp ./$UTPLSQL_FILE $ORACLE_VERSION:/$UTPLSQL_FILE
24-
docker cp ./install.sh.tmp $ORACLE_VERSION:/install.sh
25-
docker cp ./create_api_user.sh $ORACLE_VERSION:/create_api_user.sh
26-
24+
docker cp ./install.sh.tmp oracle:/install.sh
25+
docker cp ./create_api_user.sh oracle:/create_api_user.sh
2726
# Remove temporary files.
2827
# rm $UTPLSQL_FILE.tar.gz
2928
rm -rf $UTPLSQL_FILE
3029
rm install.sh.tmp
3130

3231
# Execute the utPLSQL installation inside the container.
33-
docker exec $ORACLE_VERSION bash install.sh
34-
docker exec $ORACLE_VERSION bash create_api_user.sh
32+
docker exec oracle bash /install.sh
33+
docker exec oracle bash /create_api_user.sh

.travis/start_db.sh

100644100755
File mode changed.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[![latest-release](https://img.shields.io/github/release/utPLSQL/utPLSQL-cli.svg)](https://github.com/utPLSQL/utPLSQL-cli/releases)
22
[![license](https://img.shields.io/github/license/utPLSQL/utPLSQL-cli.svg)](https://www.apache.org/licenses/LICENSE-2.0)
3-
[![build](https://img.shields.io/travis/utPLSQL/utPLSQL-cli/develop.svg?label=develop%20branch)](https://travis-ci.org/utPLSQL/utPLSQL-cli)
3+
[![Build status](https://github.com/utPLSQL/utPLSQL-cli/actions/workflows/build.yml/badge.svg)](https://github.com/utPLSQL/utPLSQL-cli/actions/workflows/build.yml)
44

55
----------
66
# utPLSQL-cli

0 commit comments

Comments
 (0)