Build and deploy snapshot #209
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and deploy snapshot | |
on: | |
push: | |
branches-ignore: [ main ] | |
pull_request: | |
branches: [ develop ] | |
workflow_dispatch: | |
repository_dispatch: | |
type: [utPLSQL-build,utPLSQL-java-api-build] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
services: | |
oracle: | |
image: gvenzl/oracle-xe:21-slim | |
env: | |
ORACLE_PASSWORD: oracle | |
ports: | |
- 1521:1521 | |
options: >- | |
--health-cmd healthcheck.sh | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 10 | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Install utPLSQL | |
run: sh ${{ github.workspace }}/scripts/1_install_utplsql.sh | |
- name: Install demo project | |
run: sh ${{ github.workspace }}/scripts/2_install_demo_project.sh | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '17' | |
distribution: 'adopt' | |
server-id: ossrh | |
server-username: MAVEN_USERNAME | |
server-password: MAVEN_PASSWORD | |
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} | |
gpg-passphrase: MAVEN_GPG_PASSPHRASE | |
- name: Cache local Maven repository | |
uses: actions/cache@v2 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: Maven unit and integration tests with sonar | |
run: mvn clean verify sonar:sonar -Pcoverage -Dsonar.projectKey=org.utplsql:utplsql-maven-plugin | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
- name: Maven deploy snapshot | |
run: mvn deploy -DskipTests | |
env: | |
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} | |
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} | |
- name: Publish unit test results | |
uses: EnricoMi/[email protected] | |
if: always() | |
with: | |
files: target/**/TEST**.xml | |
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: | |
# Required Input | |
repo_token: ${{secrets.GITHUB_TOKEN}} | |
slack_webhook_url: ${{secrets.SLACK_WEBHOOK_URL}} | |
# Optional Input | |
name: 'Github Actions[bot]' | |
icon_url: 'https://octodex.github.com/images/mona-the-rivetertocat.png' |