diff --git a/.github/actions/install-xmlutils/action.yml b/.github/actions/install-xmlutils/action.yml
new file mode 100644
index 0000000000..14fc435087
--- /dev/null
+++ b/.github/actions/install-xmlutils/action.yml
@@ -0,0 +1,11 @@
+name: 'Install xsltproc'
+description: 'Install xsltproc'
+
+runs:
+ using: composite
+ steps:
+ - name: 'Install xmlutils'
+ shell: bash
+ run: |
+ sudo apt-get update -q -y
+ sudo apt-get install -q -y xsltproc libxml2-utils
diff --git a/.github/labels-manage.yml b/.github/labels-manage.yml
deleted file mode 100644
index 315fcf11d6..0000000000
--- a/.github/labels-manage.yml
+++ /dev/null
@@ -1,218 +0,0 @@
-- name: area/batch-task
- color: F9D0C4
- description: Belongs to batch and task
-- name: area/carvel
- color: F9D0C4
- description: Belongs to carvel app features
-- name: area/composed-tasks
- color: F9D0C4
- description: Belongs to ctr
-- name: area/db
- color: F9D0C4
- description: Belongs to database
-- name: area/dependencies
- color: F9D0C4
- description: Belongs project dependencies
-- name: area/docker
- color: F9D0C4
- description: Belongs to docker
-- name: area/dsl
- color: F9D0C4
- description: Belongs to dsl
-- name: area/documentation
- color: F9D0C4
- description: Belongs to documentation
-- name: area/fan-in-fan-out
- color: F9D0C4
- description: Belongs Fan
-- name: area/flo-scdf-integration
- color: F9D0C4
- description: Belongs to Flo
-- name: area/helm-charts
- color: F9D0C4
- description: Belongs to helm
-- name: area/micrometer
- color: F9D0C4
- description: Belongs to micrometer
-- name: area/performance-optimization
- color: F9D0C4
- description: Belongs to performance
-- name: area/security
- color: F9D0C4
- description: Belongs to security
-- name: area/skipper
- color: F9D0C4
- description: Belongs to skipper
-- name: area/stream
- color: F9D0C4
- description: Belongs to stream
-- name: area/task-orchestration
- color: F9D0C4
- description: Belongs to task orchestration
-- name: area/task-scheduler
- color: F9D0C4
- description: Belongs to task scheduling
-- name: area/tests
- color: F9D0C4
- description: Belongs to tests
-
-- name: automation/rlnotes-header
- color: EDEDED
- description: Belongs to release notes automation
-- name: automation/rlnotes-footer
- color: EDEDED
- description: Belongs to release notes automation
-
-- name: for/angular4-upgrade
- color: E99695
- description: For Angular 4 update
-- name: for/backport
- color: E99695
- description: For backporting
-- name: for/blocker
- color: E99695
- description: For blocking
-- name: for/composed-tasks
- color: E99695
- description: For Composed Tasks
-- name: for/fan-in-fan-out
- color: E99695
- description: For Fan
-- name: for/flo-scdf-integration
- color: E99695
- description: For Flow integration
-- name: for/marketing
- color: E99695
- description: For marketing
-- name: for/spike
- color: E99695
- description: For spike
-- name: for/team-attention
- color: E99695
- description: For team attention
-- name: for/ux-improvement
- color: E99695
- description: For UX improvement
-
-- name: status/complete
- color: FEF2C0
- description: Issue is now complete
-- name: status/declined
- color: FEF2C0
- description: Issue has been declined
-- name: status/duplicate
- color: FEF2C0
- description: There were an existing issue
-- name: status/in-progress
- color: FEF2C0
- description: Something is happening
-- name: status/invalid
- color: FEF2C0
- description: Mistake, bogus, old, bye bye
-- name: status/need-design
- color: FEF2C0
- description: Vague so need some proper design
-- name: status/need-feedback
- color: FEF2C0
- description: Calling participant to provide feedback
-- name: status/need-investigation
- color: FEF2C0
- description: Oh need to look under a hood
-- name: status/need-triage
- color: FEF2C0
- description: Team needs to triage and take a first look
-- name: status/on-hold
- color: FEF2C0
- description: For various reasons is on hold
-- name: status/stale
- color: FEF2C0
- description: Marked as stale
-- name: status/closed-as-stale
- color: FEF2C0
- description: Closed as has been stale
-
-- name: type/automated-pr
- color: D4C5F9
- description: Is an automated pr
-- name: type/backport
- color: D4C5F9
- description: Is a issue to track backport, use with branch/xxx
-- name: type/bug
- color: D4C5F9
- description: Is a bug report
-- name: type/enhancement
- color: D4C5F9
- description: Is an enhancement request
-- name: type/epic
- color: D4C5F9
- description: Collection of issues
-- name: type/feature
- color: D4C5F9
- description: Is a feature request
-- name: type/help-needed
- color: D4C5F9
- description: Calling help
-- name: type/idea
- color: D4C5F9
- description: Is just an idea
-- name: type/task
- color: D4C5F9
- description: Something needs to get done
-- name: type/technical-debt
- color: D4C5F9
- description: Techical Dept
-- name: type/question
- color: D4C5F9
- description: Is a question
-
-- name: branch/1.2.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/1.3.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/1.4.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/1.5.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/1.6.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/1.7.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.0.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.1.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.2.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.3.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.4.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.5.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.6.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.7.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.8.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.9.x
- color: BFDADC
- description: Issue for a branch
-- name: branch/2.10.x
- color: BFDADC
- description: Issue for a branch
diff --git a/.github/rlnotes.mustache b/.github/rlnotes.mustache
index 81609ab1c4..4c59c73f18 100644
--- a/.github/rlnotes.mustache
+++ b/.github/rlnotes.mustache
@@ -11,21 +11,15 @@
# Dependent Projects and Compatibility
Component | Version
--- | ---
-{{projects.spring_cloud_dataflow_build.name}}|{{projects.spring_cloud_dataflow.version}}
-{{projects.spring_cloud_dataflow_common.name}}|{{projects.spring_cloud_dataflow.version}}
{{projects.spring_cloud_deployer.name}}|{{projects.spring_cloud_deployer.version}}
-{{projects.spring_cloud_deployer_local.name}}|{{projects.spring_cloud_deployer.version}}
-{{projects.spring_cloud_deployer_cloudfoundry.name}}|{{projects.spring_cloud_deployer.version}}
-{{projects.spring_cloud_deployer_kubernetes.name}}|{{projects.spring_cloud_deployer.version}}
-{{projects.spring_cloud_common_security_config.name}}|{{projects.spring_cloud_dataflow.version}}
-{{projects.spring_cloud_skipper.name}}|{{projects.spring_cloud_dataflow.version}}
+{{projects.spring_cloud_skipper.name}}|{{projects.spring_cloud_skipper.version}}
{{projects.spring_cloud_dataflow_ui.name}}|{{projects.spring_cloud_dataflow_ui.version}}
{{projects.spring_cloud_dataflow.name}}|{{projects.spring_cloud_dataflow.version}}
# Issues
{{#issues}}
-{{repo}}#{{number}} {{title}}
+* {{repo}}#{{number}} {{title}}
{{/issues}}
{{#footerslength}}
diff --git a/.github/workflows/build-snapshot-controller.yml b/.github/workflows/build-snapshot-controller.yml
index a543c91d5d..cc5d89c058 100644
--- a/.github/workflows/build-snapshot-controller.yml
+++ b/.github/workflows/build-snapshot-controller.yml
@@ -29,7 +29,7 @@ jobs:
"workflow_dispatch": {
"owner": "spring-cloud",
"repo": "spring-cloud-deployer",
- "ref": "2.9.x",
+ "ref": "main",
"workflow": "build-snapshot-worker.yml"
}
},
@@ -39,7 +39,7 @@ jobs:
"workflow_dispatch": {
"owner": "spring-cloud",
"repo": "spring-cloud-dataflow-ui",
- "ref": "3.4.x",
+ "ref": "main",
"workflow": "build-snapshot-worker.yml"
}
},
@@ -49,7 +49,7 @@ jobs:
"workflow_dispatch": {
"owner": "spring-cloud",
"repo": "spring-cloud-dataflow",
- "ref": "2.11.x",
+ "ref": "main",
"workflow": "build-snapshot-worker.yml"
}
},
@@ -59,7 +59,7 @@ jobs:
"workflow_dispatch": {
"owner": "spring-cloud",
"repo": "spring-cloud-dataflow",
- "ref": "2.11.x",
+ "ref": "main",
"workflow": "carvel-worker.yml"
}
},
diff --git a/.github/workflows/build-snapshot-worker.yml b/.github/workflows/build-snapshot-worker.yml
index 3db8d2a49d..22aa334822 100644
--- a/.github/workflows/build-snapshot-worker.yml
+++ b/.github/workflows/build-snapshot-worker.yml
@@ -17,9 +17,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- - uses: jlumbroso/free-disk-space@main
- with:
- tool-cache: false
- uses: actions/setup-java@v3
with:
java-version: '8'
@@ -33,21 +30,17 @@ jobs:
version: 1.46.4
env:
JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
-
- # cache maven .m2
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-m2-
-
- name: Login dockerhub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- # target deploy repos
- name: Configure JFrog Cli
run: |
jfrog rt mvnc \
@@ -59,25 +52,37 @@ jobs:
--repo-deploy-snapshots=libs-snapshot-local
echo JFROG_CLI_BUILD_NAME=spring-cloud-dataflow-main >> $GITHUB_ENV
echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
-
- # zoo extract and ensure
- name: Extract Zoo Context Properties
uses: jvalkeal/build-zoo-handler@v0.0.4
with:
dispatch-handler-extract-context-properties: true
-
- # build and publish to configured target
+ - name: 'Install: xmllint'
+ uses: ./.github/actions/install-xmlutils
- name: Build and Publish
+ shell: bash
+ timeout-minutes: 75
run: |
mvn clean
./spring-cloud-dataflow-package/set-package-version.sh
- jfrog rt mvn install -Pfull -B
+ jfrog rt mvn install -Pfull,docs -B
jfrog rt mvn install -pl spring-cloud-dataflow-package -B
jfrog rt build-publish
- echo BUILD_ZOO_HANDLER_spring_cloud_dataflow_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) >> $GITHUB_ENV
+ PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
+ echo BUILD_ZOO_HANDLER_spring_cloud_dataflow_version=$PROJECT_VERSION >> $GITHUB_ENV
echo BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildname=spring-cloud-dataflow-main >> $GITHUB_ENV
echo BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildnumber=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
echo BUILD_ZOO_HANDLER_spring_cloud_skipper_version=$(mvn help:evaluate -Dexpression=spring-cloud-skipper.version -pl spring-cloud-dataflow-parent -q -DforceStdout) >> $GITHUB_ENV
+# echo "Determine project version"
+# set +e
+# echo "::info ::Project version=$PROJECT_VERSION"
+# SKIPPER_DOCS_PATTERN=$(.github/workflows/skipper-docs-name.sh $PROJECT_VERSION libs-snapshot-local)
+# if [[ "$SKIPPER_DOCS_PATTERN" == *"does not exist"* ]]; then
+# echo "::error ::Skipper Docs URL=$SKIPPER_DOCS_PATTERN"
+# else
+# echo "::info ::Skipper Docs URL=$SKIPPER_DOCS_PATTERN"
+# jfrog rt sp --build "$SKIPPER_DOCS_PATTERN" "buildName=$JFROG_CLI_BUILD_NAME;buildNumber=$JFROG_CLI_BUILD_NUMBER"
+# echo "::info ::Skipper Docs Set Properties buildName=$JFROG_CLI_BUILD_NAME;buildNumber=$JFROG_CLI_BUILD_NUMBER"
+# fi
- name: Test Report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
@@ -86,7 +91,6 @@ jobs:
path: '**/surefire-reports/*.xml'
reporter: java-junit
list-tests: failed
- # clean m2 cache
- name: Clean cache
run: |
find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
@@ -96,7 +100,75 @@ jobs:
BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildname: ${{ env.BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildname }}
BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildnumber: ${{ env.BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildnumber }}
BUILD_ZOO_HANDLER_spring_cloud_skipper_version: ${{ env.BUILD_ZOO_HANDLER_spring_cloud_skipper_version }}
-
+ database-tests:
+ if: github.repository_owner == 'spring-cloud'
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ db: [ 'ORACLE', 'DB2' ]
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-m2-${{ matrix.db }}
+ - uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'liberica'
+ - uses: jvalkeal/setup-maven@v1
+ with:
+ maven-version: 3.8.8
+ maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
+ - uses: jfrog/setup-jfrog-cli@v1
+ with:
+ version: 1.46.4
+ env:
+ JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ - name: Login dockerhub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Configure JFrog Cli
+ run: |
+ jfrog rt mvnc \
+ --server-id-resolve=repo.spring.io \
+ --server-id-deploy=repo.spring.io \
+ --repo-resolve-releases=libs-milestone \
+ --repo-resolve-snapshots=libs-snapshot \
+ --repo-deploy-releases=libs-release-local \
+ --repo-deploy-snapshots=libs-snapshot-local
+ - uses: ./.github/actions/install-xmlutils
+ - name: Test
+ shell: bash
+ timeout-minutes: 75
+ run: |
+ jfrog rt mvn clean install -s .settings.xml -DskipTests -am -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server
+ export ENABLE_${{ matrix.db }}=true
+ jfrog rt mvn test -s .settings.xml -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server -Dgroups=${{ matrix.db }}
+ - name: Test Report
+ uses: dorny/test-reporter@v1
+ if: ${{ success() || failure() }}
+ with:
+ name: Unit Tests
+ path: '**/surefire-reports/*.xml'
+ reporter: java-junit
+ list-tests: failed
+ - name: Capture Test Results
+ if: ${{ always() }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: test-results
+ path: '**/target/surefire-reports/**/*.*'
+ retention-days: 7
+ if-no-files-found: ignore
+ # clean m2 cache
+ - name: Clean cache
+ run: |
+ find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
images:
name: Build and Publish Images
needs: [ build ]
@@ -109,7 +181,7 @@ jobs:
GCR_JSON_KEY: ${{ secrets.GCR_JSON_KEY }}
wrap:
- needs: [ build, images ]
+ needs: [ build, images, database-tests ]
runs-on: ubuntu-latest
steps:
- name: Save env
@@ -120,7 +192,7 @@ jobs:
echo "BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildname=${{ needs.build.outputs.BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildname }}" >> $GITHUB_ENV
echo "BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildnumber=${{ needs.build.outputs.BUILD_ZOO_HANDLER_spring_cloud_dataflow_buildnumber }}" >> $GITHUB_ENV
echo "BUILD_ZOO_HANDLER_spring_cloud_skipper_version=${{ needs.build.outputs.BUILD_ZOO_HANDLER_spring_cloud_skipper_version }}" >> $GITHUB_ENV
- # zoo success
+# zoo success
- name: Notify Build Success Zoo Handler Controller
uses: jvalkeal/build-zoo-handler@v0.0.4
with:
@@ -129,7 +201,7 @@ jobs:
{
"event": "build-succeed"
}
- # zoo failure
+# zoo failure
- name: Notify Build Failure Zoo Handler Controller
if: ${{ failure() }}
uses: jvalkeal/build-zoo-handler@v0.0.4
diff --git a/.github/workflows/build-uaa-test.yml b/.github/workflows/build-uaa-test.yml
new file mode 100644
index 0000000000..04753a42d7
--- /dev/null
+++ b/.github/workflows/build-uaa-test.yml
@@ -0,0 +1,41 @@
+name: build-uaa-test
+
+on:
+ workflow_dispatch:
+
+jobs:
+ # test templating before publishing a package
+ prepare:
+ name: Prepare Job
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/checkout@v4
+ with:
+ repository: cloudfoundry/uaa
+ ref: '4.32.0'
+ path: src/docker/uaa/uaa
+ - uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'liberica'
+ - name: Build UAA Test Image
+ shell: bash
+ env:
+ ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
+ ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
+ working-directory: ./src/docker/uaa
+ run: ./build-uaa
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+ - name: Login dockerhub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Publish Test Image
+ uses: docker/build-push-action@v6
+ with:
+ context: ./src/docker/uaa
+ push: true
+ tags: springcloud/scdf-uaa-test:4.32
diff --git a/.github/workflows/central-release.yml b/.github/workflows/central-release.yml
index f4e9267ce1..4c768f6ef8 100644
--- a/.github/workflows/central-release.yml
+++ b/.github/workflows/central-release.yml
@@ -9,7 +9,7 @@ on:
jobs:
central:
- runs-on: ubuntu22-8-32
+ runs-on: ubuntu22-8-32-OSS
environment: central
steps:
diff --git a/.github/workflows/ci-carvel.yml b/.github/workflows/ci-carvel.yml
index 3dd33592ba..a5776a0907 100644
--- a/.github/workflows/ci-carvel.yml
+++ b/.github/workflows/ci-carvel.yml
@@ -3,7 +3,7 @@ name: CI Carvel
on:
push:
branches:
- - 2.11.x
+ - main
paths:
- 'src/carvel/**'
workflow_dispatch:
diff --git a/.github/workflows/ci-it-db.yml b/.github/workflows/ci-it-db.yml
index 508e427593..6ac4771060 100644
--- a/.github/workflows/ci-it-db.yml
+++ b/.github/workflows/ci-it-db.yml
@@ -3,16 +3,15 @@ name: CI IT Database
on:
workflow_dispatch:
schedule:
- - cron: '0 6 * * 1'
+ - cron: '0 6 * * 1-5'
jobs:
- test:
+ integration-test:
name: DB IT on ${{ matrix.group }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
-# group: [mariadb, mssql, postgres] // let's move mssql to pro tests along with Oracle
group: [mariadb, postgres]
steps:
- uses: actions/checkout@v4
@@ -30,29 +29,33 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 'Action: Run Db IT'
+ env:
+ ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
+ ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: |
+ mvn clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am
mvn \
-s .settings.xml \
-pl spring-cloud-dataflow-server \
-Dgroups=${{ matrix.group }} \
-Pfailsafe \
--batch-mode \
- integration-test
+ test
- name: Integration Test Report for ${{ matrix.group }}
id: test_report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
- name: Integration Tests
- path: '**/failsafe-reports/*IT.xml'
+ 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 "Test report for ${{ matrix.group }} published at ${{ steps.test_report.outputs.url_html }}"
+ echo "::info ::Test report for ${{ matrix.group }} published at ${{ steps.test_report.outputs.url_html }}"
- name: 'Action: Upload Unit Test Results'
- if: ${{ always() }}
+ if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.group }}-test-results-surefire
@@ -60,10 +63,67 @@ jobs:
retention-days: 7
if-no-files-found: ignore
- name: 'Action: Upload Integration Test Results'
- if: ${{ always() }}
+ 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
+ db2-tests:
+ name: DB2 Tests
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ 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 DB2 Tests'
+ env:
+ ENABLE_DB2: 'true'
+ run: |
+ mvn clean install -DskipTests -T 1C -s .settings.xml -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server -am
+ mvn \
+ -s .settings.xml \
+ -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server \
+ -Dgroups=DB2 \
+ --batch-mode \
+ test
+ - name: Test Report for DB2
+ id: test_report
+ uses: dorny/test-reporter@v1
+ if: ${{ success() || failure() }}
+ with:
+ name: Tests - DB2
+ path: '**/surefire-reports/*.xml'
+ reporter: java-junit
+ list-tests: failed
+ - name: Publish Test Url for DB2
+ shell: bash
+ run: |
+ echo "::info ::Test report for DB2 published at ${{ steps.test_report.outputs.url_html }}"
+ - name: 'Action: Upload Unit Test Results'
+ if: ${{ success() || failure() }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: DB2-test-results-surefire
+ path: './**/target/surefire-reports/**/*.*'
+ retention-days: 7
+ if-no-files-found: ignore
+ completed:
+ runs-on: ubuntu-latest
+ needs: [ db2-tests, integration-test ]
+ steps:
+ - name: 'Done'
+ shell: bash
+ run: echo "::info ::Done"
diff --git a/.github/workflows/ci-it-performance.yml b/.github/workflows/ci-it-performance.yml
new file mode 100644
index 0000000000..b0edda59af
--- /dev/null
+++ b/.github/workflows/ci-it-performance.yml
@@ -0,0 +1,64 @@
+name: CI IT Performance
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: '0 6 * * 1'
+
+jobs:
+ test:
+ name: Performance IT
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ 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: Run Performance IT
+ env:
+ ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
+ ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
+ run: |
+ mvn clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am
+ mvn \
+ -s .settings.xml \
+ -pl spring-cloud-dataflow-server \
+ -Dgroups=performance \
+ -Pfailsafe \
+ --batch-mode \
+ test
+ - name: Test Report
+ uses: dorny/test-reporter@v1
+ if: ${{ success() || failure() }}
+ with:
+ name: Integration Tests
+ path: '**/surefire-reports/*.xml'
+ reporter: java-junit
+ list-tests: failed
+ - name: 'Action: Upload Unit Test Results'
+ if: ${{ always() }}
+ 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: ${{ always() }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ matrix.group }}-test-results-failsafe
+ path: './**/target/failsafe-reports/**/*.*'
+ retention-days: 7
+ if-no-files-found: ignore
diff --git a/.github/workflows/ci-it-security.yml b/.github/workflows/ci-it-security.yml
index b23e91df45..a675e01c79 100644
--- a/.github/workflows/ci-it-security.yml
+++ b/.github/workflows/ci-it-security.yml
@@ -26,30 +26,26 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Run Security IT
+ env:
+ ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
+ ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: |
+ mvn clean install -DskipTests -T 1C -s .settings.xml -pl spring-cloud-dataflow-server -am
mvn \
-s .settings.xml \
-pl spring-cloud-dataflow-server \
-Dgroups=oauth \
-Pfailsafe \
--batch-mode \
- integration-test
+ test
- name: Test Report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
with:
name: Integration Tests
- path: '**/failsafe-reports/*IT.xml'
+ path: '**/surefire-reports/*IT.xml'
reporter: java-junit
list-tests: failed
- - name: 'Action: Upload Unit Test Results'
- if: ${{ always() }}
- 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: ${{ always() }}
uses: actions/upload-artifact@v3
diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml
index 7b759ba525..4f530674f3 100644
--- a/.github/workflows/ci-pr.yml
+++ b/.github/workflows/ci-pr.yml
@@ -3,45 +3,20 @@ name: CI PRs
on:
pull_request:
-env:
- MAVEN_THREADS: '-T 1'
-
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- # cache maven repo
- - uses: actions/cache@v3
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-m2-
- # jdk8
- uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'liberica'
- - uses: jvalkeal/setup-maven@v1
- with:
- maven-version: 3.8.8
- maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
- # build
- name: Build
+ shell: bash
+ timeout-minutes: 75
run: |
- mvn -B -s .github/settings.xml clean install
- - name: Capture Test Results
- if: failure()
- uses: actions/upload-artifact@v3
- with:
- name: Unit Tests
- path: '**/surefire-reports/*.xml'
- retention-days: 3
- # clean m2 cache
- - name: Clean cache
- run: |
- find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
+ ./mvnw -B -s .github/settings.xml -Pdocs clean install
scan:
runs-on: ubuntu-latest
steps:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 5d58022995..cbec0c8385 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,7 +5,6 @@ on:
push:
branches:
- 'main'
- - '2.11.x'
paths-ignore:
- '.github/**'
@@ -21,21 +20,14 @@ jobs:
cancel-in-progress: true
steps:
- uses: actions/checkout@v4
- - uses: jlumbroso/free-disk-space@main
- with:
- tool-cache: false
- dotnet: false
- docker-images: false
- swap-storage: false
- large-packages: false
- # cache maven repo
+# cache maven repo
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-m2-
- # jdk8
+# jdk8
- uses: actions/setup-java@v3
with:
java-version: '8'
@@ -44,7 +36,7 @@ jobs:
with:
maven-version: 3.8.8
maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
- # jfrog cli
+# jfrog cli
- uses: jfrog/setup-jfrog-cli@v1
with:
version: 1.46.4
@@ -55,7 +47,7 @@ jobs:
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- # setup frog cli
+# setup frog cli
- name: Configure JFrog Cli
run: |
jfrog rt mvnc \
@@ -68,14 +60,29 @@ jobs:
echo JFROG_CLI_BUILD_NAME=spring-cloud-dataflow-main >> $GITHUB_ENV
echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
echo spring_cloud_dataflow_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) >> $GITHUB_ENV
- # build and publish
+ - uses: ./.github/actions/install-xmlutils
+# build and publish
- name: Build and Publish
+ shell: bash
+ timeout-minutes: 75
run: |
mvn clean
./spring-cloud-dataflow-package/set-package-version.sh
- jfrog rt mvn install -Pfull,asciidoctordocs,restdocs -B
+ jfrog rt mvn install -Pfull,docs -B
jfrog rt mvn install -pl spring-cloud-dataflow-package -B
jfrog rt build-publish
+ export JFROG_CLI_BUILD_NAME="${JFROG_CLI_BUILD_NAME/spring-cloud-dataflow/spring-cloud-skipper}"
+ PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
+# set +e
+# echo "::info ::Project version=$PROJECT_VERSION"
+# SKIPPER_DOCS_PATTERN=$(.github/workflows/skipper-docs-name.sh $PROJECT_VERSION libs-snapshot-local)
+# if [[ "$SKIPPER_DOCS_PATTERN" == *"does not exist"* ]]; then
+# echo "::error ::Skipper Docs URL=$SKIPPER_DOCS_PATTERN"
+# else
+# echo "::info ::Skipper Docs URL=$SKIPPER_DOCS_PATTERN"
+# jfrog rt sp --build "$SKIPPER_DOCS_PATTERN" "buildName=$JFROG_CLI_BUILD_NAME;buildNumber=$JFROG_CLI_BUILD_NUMBER"
+# echo "::info ::Skipper Docs Set Properties buildName=$JFROG_CLI_BUILD_NAME;buildNumber=$JFROG_CLI_BUILD_NUMBER"
+# fi
- name: Test Report
uses: dorny/test-reporter@v1
if: ${{ success() || failure() }}
@@ -92,12 +99,82 @@ jobs:
path: '**/target/surefire-reports/**/*.*'
retention-days: 7
if-no-files-found: ignore
- # clean m2 cache
+# clean m2 cache
- name: Clean cache
run: |
find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
outputs:
version: ${{ env.spring_cloud_dataflow_version }}
+ database-tests:
+ if: github.repository_owner == 'spring-cloud'
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ db: [ 'ORACLE', 'DB2' ]
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/cache@v3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-m2-${{ matrix.db }}
+ - uses: actions/setup-java@v3
+ with:
+ java-version: '8'
+ distribution: 'liberica'
+ - uses: jvalkeal/setup-maven@v1
+ with:
+ maven-version: 3.8.8
+ maven-mirror: 'https://dlcdn.apache.org/maven/maven-3/'
+ - uses: jfrog/setup-jfrog-cli@v1
+ with:
+ version: 1.46.4
+ env:
+ JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ - name: Login dockerhub
+ uses: docker/login-action@v3
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Configure JFrog Cli
+ run: |
+ jfrog rt mvnc \
+ --server-id-resolve=repo.spring.io \
+ --server-id-deploy=repo.spring.io \
+ --repo-resolve-releases=libs-milestone \
+ --repo-resolve-snapshots=libs-snapshot \
+ --repo-deploy-releases=libs-release-local \
+ --repo-deploy-snapshots=libs-snapshot-local
+ - uses: ./.github/actions/install-xmlutils
+ - name: Test
+ shell: bash
+ timeout-minutes: 75
+ run: |
+ jfrog rt mvn clean install -s .settings.xml -DskipTests -am -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server
+ export ENABLE_${{ matrix.db }}=true
+ jfrog rt mvn test -s .settings.xml -pl :spring-cloud-dataflow-server,:spring-cloud-skipper-server -Dgroups=${{ matrix.db }}
+ - name: Test Report
+ uses: dorny/test-reporter@v1
+ if: ${{ success() || failure() }}
+ with:
+ name: Unit Tests
+ path: '**/surefire-reports/*.xml'
+ reporter: java-junit
+ list-tests: failed
+ - name: Capture Test Results
+ if: ${{ always() }}
+ uses: actions/upload-artifact@v3
+ with:
+ name: test-results
+ path: '**/target/surefire-reports/**/*.*'
+ retention-days: 7
+ if-no-files-found: ignore
+ # clean m2 cache
+ - name: Clean cache
+ run: |
+ find ~/.m2/repository -type d -name '*SNAPSHOT' | xargs rm -fr
+
images:
name: Build and Publish Images
needs:
@@ -130,7 +207,7 @@ jobs:
run: echo "::info ::Scanned"
done:
runs-on: ubuntu-latest
- needs: [ scan, build, images ]
+ needs: [ scan, build, images, database-tests ]
steps:
- name: 'Done'
shell: bash
diff --git a/.github/workflows/download-jar/gradle.properties b/.github/workflows/download-jar/gradle.properties
index 28769e9838..b8afb6f3df 100644
--- a/.github/workflows/download-jar/gradle.properties
+++ b/.github/workflows/download-jar/gradle.properties
@@ -1,4 +1,4 @@
artifactGroup=org.springframework.cloud
artifactId=spring-cloud-dataflow-server
-artifactVersion=2.11.2-SNAPSHOT
+artifactVersion=2.11.3-SNAPSHOT
artifactPath=./dl
\ No newline at end of file
diff --git a/.github/workflows/fix-deployment-files.yml b/.github/workflows/fix-deployment-files.yml
index aa042270b6..5e7205e316 100644
--- a/.github/workflows/fix-deployment-files.yml
+++ b/.github/workflows/fix-deployment-files.yml
@@ -3,7 +3,7 @@ name: Fix Deployment Files
on:
push:
branches:
- - 2.11.x
+ - main
jobs:
build:
@@ -44,4 +44,3 @@ jobs:
assignees: ilayaperumalg
reviewers: jvalkeal,ilayaperumalg
branch: github-actions/update-deployment-files
-
diff --git a/.github/workflows/generate-release-notes.sh b/.github/workflows/generate-release-notes.sh
new file mode 100755
index 0000000000..a50aea60f0
--- /dev/null
+++ b/.github/workflows/generate-release-notes.sh
@@ -0,0 +1,91 @@
+#!/usr/bin/env bash
+RUNNER_TMP="$1"
+DEPLOYER_VERSION="$2"
+DATAFLOW_UI_VERSION="$3"
+DATAFLOW_VERSION="$4"
+if [ "$4" == "" ]; then
+ echo "Usage:
@@ -43,9 +37,10 @@
* @author Eric Bottard
* @author Mark Fisher
* @author Andy Clement
+ * @author Corneil du Plessis
*/
@SuppressWarnings("unchecked")
-@RunWith(SpringRunner.class)
+
@SpringBootTest(classes = { CompletionConfiguration.class, CompletionTestsMocks.class }, properties = {
"spring.main.allow-bean-definition-overriding=true" })
public class TaskCompletionProviderTests {
@@ -56,77 +51,71 @@ public class TaskCompletionProviderTests {
@Test
//