Skip to content

CI IT Database

CI IT Database #304

Workflow file for this run

name: CI IT Database
on:
workflow_dispatch:
schedule:
- cron: '0 6 * * 1-5'
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
jobs:
integration-test:
name: DB IT on ${{ matrix.group }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
group: [mariadb, postgres]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'liberica'
- uses: jvalkeal/setup-maven@v1
with:
maven-version: 3.8.8
maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
- name: Login dockerhub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 'Action: Run Db IT'
run: |
./mvnw clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am -B --no-transfer-progress
./mvnw \
-s .settings.xml \
-pl spring-cloud-dataflow-server \
-Dgroups=${{ matrix.group }} \
-Pfailsafe \
--batch-mode --no-transfer-progress \
verify
- name: Integration Test Report for ${{ matrix.group }}
id: test_report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Integration Tests - ${{ matrix.group }}
path: '**/surefire-reports/*.xml'
reporter: java-junit
list-tests: failed
- name: Publish Test Url for ${{ matrix.group }}
shell: bash
run: |
echo "::info ::Test report for ${{ matrix.group }} published at ${{ steps.test_report.outputs.url_html }}"
- name: 'Action: Upload Unit Test Results'
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.group }}-test-results-surefire
path: './**/target/surefire-reports/**/*.*'
retention-days: 7
if-no-files-found: ignore
- name: 'Action: Upload Integration Test Results'
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.group }}-test-results-failsafe
path: './**/target/failsafe-reports/**/*.*'
retention-days: 7
if-no-files-found: ignore
large-container-tests:
strategy:
matrix:
database: ['DB2', 'ORACLE']
name: ${{ matrix.database }} Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: find . -type f -name "*.sh" -exec chmod a+x '{}' \;
- uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'liberica'
- uses: jvalkeal/setup-maven@v1
with:
maven-version: 3.8.8
maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
- name: Login dockerhub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 'Action: Run ${{ matrix.database }} Tests'
run: |
export ENABLE_${{ matrix.database }}=true
./mvnw clean install -DskipTests -T 1C -s .settings.xml -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server -am -B --no-transfer-progress
./mvnw \
-s .settings.xml \
-pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server \
-Dgroups=${{ matrix.database }} \
--batch-mode --no-transfer-progress \
test
- name: Test Report for ${{ matrix.database }}
id: test_report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Tests - ${{ matrix.database }}
path: '**/surefire-reports/*.xml'
reporter: java-junit
list-tests: failed
- name: Publish Test Url for ${{ matrix.database }}
shell: bash
run: |
echo "::info ::Test report for ${{ matrix.database }} published at ${{ steps.test_report.outputs.url_html }}"
- name: 'Action: Upload Unit Test Results'
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.database }}-test-results-surefire
path: './**/target/surefire-reports/**/*.*'
retention-days: 7
if-no-files-found: ignore
completed:
runs-on: ubuntu-latest
needs: [ large-container-tests, integration-test ]
steps:
- name: 'Done'
shell: bash
run: echo "::info ::Done"