Skip to content

Feature/GitHub actions #202

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jan 17, 2022
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
87 changes: 87 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Build and test
on:
push:
branches: [ develop, feature/github_actions ]
tags:
- v*
pull_request:
branches: [ develop ]
workflow_dispatch:
repository_dispatch:
types: [utPLSQL-build]

defaults:
run:
shell: bash

jobs:
build:
name: Test on JDK ${{ matrix.jdk }} with utPLSQL ${{ matrix.utplsql_version }}
runs-on: ubuntu-latest
env:
ORACLE_VERSION: "gvenzl/oracle-xe:18.4.0-slim"
UTPLSQL_VERSION: ${{matrix.utplsql_version}}
UTPLSQL_FILE: ${{matrix.utplsql_file}}
ORACLE_PASSWORD: oracle
DB_URL: "127.0.0.1:1521:XE"
DB_USER: app
DB_PASS: app

strategy:
fail-fast: false
matrix:
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"]
utplsql_file: ["utPLSQL"]
jdk: ['8']
include:
- utplsql_version: "v3.0.0"
jdk: '8'
utplsql_file: "utPLSQLv3.0.0"
services:
oracle:
image: gvenzl/oracle-xe:18.4.0-slim
env:
ORACLE_PASSWORD: oracle
ports:
- 1521:1521
options: >-
--health-cmd healthcheck.sh
--health-interval 10s
--health-timeout 5s
--health-retries 10
--name oracle

steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-java@v2
with:
distribution: 'adopt'
java-version: ${{matrix.jdk}}
cache: 'maven'

- name: Install utplsql
run: .travis/install_utplsql.sh

- name: Install demo project
run: .travis/install_demo_project.sh

- name: Build
run: mvn package -DskipTests
- name: Test
run: mvn package verify jar:jar appassembler:assemble

slack-workflow-status:
if: always()
name: Post Workflow Status To Slack
needs: [ build ]
runs-on: ubuntu-latest
steps:
- name: Slack Workflow Notification
uses: Gamesight/slack-workflow-status@master
with:
repo_token: ${{secrets.GITHUB_TOKEN}}
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}}
name: 'Github Actions[bot]'
icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png'
Empty file modified .travis/create_api_user.sh
100644 → 100755
Empty file.
Empty file modified .travis/create_release.sh
100644 → 100755
Empty file.
10 changes: 5 additions & 5 deletions .travis/install_demo_project.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
set -ev
set -evx
cd $(dirname $(readlink -f $0))

PROJECT_FILE="utPLSQL-demo-project"
Expand All @@ -13,7 +13,7 @@ grant select any dictionary to ${DB_USER};
exit
SQL

cd ${PROJECT_FILE}
cd /${PROJECT_FILE}
sqlplus -S -L ${DB_USER}/${DB_PASS}@//127.0.0.1:1521/xe <<SQL
whenever sqlerror exit failure rollback
whenever oserror exit failure rollback
Expand All @@ -39,6 +39,6 @@ exit
SQL
EOF

docker cp ./$PROJECT_FILE $ORACLE_VERSION:/$PROJECT_FILE
docker cp ./demo_project.sh.tmp $ORACLE_VERSION:/demo_project.sh
docker exec $ORACLE_VERSION bash demo_project.sh
docker cp ./${PROJECT_FILE} oracle:/${PROJECT_FILE}
docker cp ./demo_project.sh.tmp oracle:/demo_project.sh
docker exec oracle bash /demo_project.sh
21 changes: 10 additions & 11 deletions .travis/install_utplsql.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,30 @@ cd $(dirname $(readlink -f $0))

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

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

# Copy utPLSQL files to the container and install it.
docker cp ./$UTPLSQL_FILE.tar.gz $ORACLE_VERSION:/$UTPLSQL_FILE.tar.gz
docker cp ./${UTPLSQL_FILE} oracle:/${UTPLSQL_FILE}
# docker cp ./$UTPLSQL_FILE $ORACLE_VERSION:/$UTPLSQL_FILE
docker cp ./install.sh.tmp $ORACLE_VERSION:/install.sh
docker cp ./create_api_user.sh $ORACLE_VERSION:/create_api_user.sh

docker cp ./install.sh.tmp oracle:/install.sh
docker cp ./create_api_user.sh oracle:/create_api_user.sh
# Remove temporary files.
# rm $UTPLSQL_FILE.tar.gz
rm -rf $UTPLSQL_FILE
rm install.sh.tmp

# Execute the utPLSQL installation inside the container.
docker exec $ORACLE_VERSION bash install.sh
docker exec $ORACLE_VERSION bash create_api_user.sh
docker exec oracle bash /install.sh
docker exec oracle bash /create_api_user.sh
Empty file modified .travis/start_db.sh
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![latest-release](https://img.shields.io/github/release/utPLSQL/utPLSQL-cli.svg)](https://github.com/utPLSQL/utPLSQL-cli/releases)
[![license](https://img.shields.io/github/license/utPLSQL/utPLSQL-cli.svg)](https://www.apache.org/licenses/LICENSE-2.0)
[![build](https://img.shields.io/travis/utPLSQL/utPLSQL-cli/develop.svg?label=develop%20branch)](https://travis-ci.org/utPLSQL/utPLSQL-cli)
[![Build status](https://github.com/utPLSQL/utPLSQL-cli/actions/workflows/build.yml/badge.svg)](https://github.com/utPLSQL/utPLSQL-cli/actions/workflows/build.yml)

----------
# utPLSQL-cli
Expand Down