diff --git a/.github/actions/build-sample-app/action.yml b/.github/actions/build-sample-app/action.yml
new file mode 100644
index 0000000..7ecafd5
--- /dev/null
+++ b/.github/actions/build-sample-app/action.yml
@@ -0,0 +1,76 @@
+name: 'Build Sample App'
+description: 'Builds a sample app and optionally publishes to Artifactory and pushes to a Docker registry'
+inputs:
+ app-dir:
+ description: 'relative path to the app directory'
+ required: true
+ mvn-build-commands:
+ description: 'commands passed to \"mvnw" to build the app'
+ required: false
+ default: '-B clean verify'
+ artifactory-publish:
+ description: 'whether or not to publish to artifactory'
+ required: false
+ default: 'false'
+ jf-artifactory-spring:
+ description: 'encoded JFrog server id configuration'
+ required: false
+ jf-mvn-build-commands:
+ description: 'commands passed to \"jfrog rt mvn\" to publish the app'
+ required: false
+ default: '-B clean install -DskipTests'
+ docker-push:
+ description: 'whether or not to push docker image to docker hub'
+ required: false
+ default: 'false'
+ docker-registry:
+ description: 'docker registry'
+ required: false
+ docker-username:
+ description: 'docker username'
+ required: false
+ docker-password:
+ description: 'docker password'
+ required: false
+ docker-images:
+ description: 'csv of docker images to push'
+ required: false
+ docker-images-override:
+ description: 'csv of docker image tags to use when pushing (parallel array to docker-images)'
+ required: false
+runs:
+ using: "composite"
+ steps:
+ - uses: actions/checkout@v2
+
+ - uses: jvalkeal/setup-maven@v1
+ with:
+ maven-version: 3.8.4
+
+ - uses: actions/setup-java@v2
+ with:
+ distribution: adopt
+ java-version: 8
+ cache: maven
+
+ - name: Maven build
+ shell: bash
+ run: ./mvnw ${{ inputs.mvn-build-commands }}
+ working-directory: ${{ inputs.app-dir }}
+
+ - uses: ./.github/actions/build-sample-app/artifactory-publish
+ if: ${{ inputs.artifactory-publish == 'true' }}
+ with:
+ app-dir: ${{ inputs.app-dir }}
+ jf-artifactory-spring: ${{ inputs.jf-artifactory-spring }}
+ jf-mvn-build-commands: ${{ inputs.jf-mvn-build-commands }}
+
+ - uses: ./.github/actions/build-sample-app/docker-push
+ if: ${{ inputs.docker-push == 'true' }}
+ with:
+ app-dir: ${{ inputs.app-dir }}
+ docker-registry: ${{ inputs.docker-registry }}
+ docker-username: ${{ inputs.docker-username }}
+ docker-password: ${{ inputs.docker-password }}
+ docker-images: ${{ inputs.docker-images }}
+ docker-images-override: ${{ inputs.docker-images-override }}
diff --git a/.github/actions/build-sample-app/artifactory-publish/action.yml b/.github/actions/build-sample-app/artifactory-publish/action.yml
new file mode 100644
index 0000000..70eb4f4
--- /dev/null
+++ b/.github/actions/build-sample-app/artifactory-publish/action.yml
@@ -0,0 +1,45 @@
+name: 'Sample App Publish'
+description: 'Publishes a sample app to Artifactory'
+inputs:
+ app-dir:
+ description: 'relative path to the app directory'
+ required: true
+ jf-artifactory-spring:
+ description: 'encoded JFrog server id configuration'
+ required: true
+ jf-mvn-build-commands:
+ description: 'commands passed to \"jfrog rt mvn\" to publish the app'
+ required: false
+ default: '-B clean install -DskipTests'
+runs:
+ using: "composite"
+ steps:
+
+ - name: Setup JFrog CLI
+ uses: jfrog/setup-jfrog-cli@v1
+ with:
+ version: 1.46.4
+ env:
+ JF_ARTIFACTORY_SPRING: ${{ inputs.jf-artifactory-spring }}
+
+ - name: Configure JFrog Cli
+ shell: bash
+ 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=release \
+ --repo-deploy-snapshots=snapshot
+ echo JFROG_CLI_BUILD_NAME=spring-cloud-dataflow-samples >> $GITHUB_ENV
+ echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
+ working-directory: ${{ inputs.app-dir }}
+
+ - name: Publish to Artifactory
+ shell: bash
+ run: |
+ jfrog rt mvn ${{ inputs.jf-mvn-build-commands }}
+ jfrog rt build-publish
+ working-directory: ${{ inputs.app-dir }}
+
diff --git a/.github/actions/build-sample-app/docker-push/action.yml b/.github/actions/build-sample-app/docker-push/action.yml
new file mode 100644
index 0000000..fbb1722
--- /dev/null
+++ b/.github/actions/build-sample-app/docker-push/action.yml
@@ -0,0 +1,73 @@
+name: 'Sample App Push'
+description: 'Pushes a containerized sample app to Docker'
+inputs:
+ app-dir:
+ description: 'relative path to the app directory'
+ required: true
+ docker-registry:
+ description: 'docker registry'
+ required: false
+ docker-username:
+ description: 'docker username'
+ required: true
+ docker-password:
+ description: 'docker password'
+ required: true
+ docker-images:
+ description: 'csv of docker images to push'
+ required: true
+ docker-images-override:
+ description: 'csv of docker image tags to use when pushing (parallel array to docker-images)'
+ required: false
+runs:
+ using: "composite"
+ steps:
+
+ - name: Login Dockerhub
+ uses: docker/login-action@v1
+ with:
+ registry: ${{ inputs.docker-registry }}
+ username: ${{ inputs.docker-username }}
+ password: ${{ inputs.docker-password }}
+
+ - name: Push images to Dockerhub
+ env:
+ DOCKER_REGISTRY: ${{ inputs.docker-registry }}
+ DOCKER_IMAGES: ${{ inputs.docker-images }}
+ DOCKER_IMAGES_OVERRIDE: ${{ inputs.docker-images-override }}
+ working-directory: ${{ inputs.app-dir }}
+ shell: bash
+ run: |
+ # read the images into arrays
+ read -r -a images <<< "$DOCKER_IMAGES"
+ read -r -a imagesOverride <<< "$DOCKER_IMAGES_OVERRIDE"
+
+ # validate lengths if override specified
+ numImages=${#images[@]}
+ numImagesOverride=${#imagesOverride[@]}
+ if [[ $numImagesOverride -gt 0 && $numImages -ne $numImagesOverride ]]; then
+ echo "when 'docker-images-override' is specified it must be the same length as 'docker-images'"
+ exit 1
+ fi
+ # determine the target images name based on registry and override
+ for idx in "${!images[@]}"
+ do
+ # use override if specified
+ if [[ $numImagesOverride -gt 0 ]]; then
+ image="${imagesOverride[idx]}"
+ else
+ image="${images[idx]}"
+ fi
+ # pre-pend registry if specified
+ if [[ "$DOCKER_REGISTRY" != "" ]]; then
+ image="$DOCKER_REGISTRY/$image"
+ fi
+
+ # tag the original image if it has changed (override and/or registry)
+ originalImage="${images[idx]}"
+ if [[ "$image" != "$originalImage" ]]; then
+ docker tag ${originalImage} ${image}
+ fi
+ docker push ${image}
+
+ done
diff --git a/.github/workflows/ci-pr.yml b/.github/workflows/ci-pr.yml
index 1f7e859..7c775b8 100644
--- a/.github/workflows/ci-pr.yml
+++ b/.github/workflows/ci-pr.yml
@@ -5,18 +5,11 @@ on:
jobs:
build:
- runs-on: ubuntu-latest
- name: CI PR Build
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-java@v2
- with:
- distribution: adopt
- java-version: 8
- cache: maven
- - name: Build kafka-samples
- run: ./mvnw -B package
- working-directory: kafka-samples
- - name: Build multio-samples/ticktock
- run: ./mvnw -B package
- working-directory: multio-samples/ticktock
+ name: Call Build Workflow
+ uses: spring-cloud/spring-cloud-dataflow-samples/.github/workflows/ci.yml@main
+ with:
+ maven-build-only: true
+ secrets:
+ JF_ARTIFACTORY_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
+ DOCKER_TOKEN: ${{ secrets.DOCKER_TOKEN }}
diff --git a/.github/workflows/ci-publish.yml b/.github/workflows/ci-publish.yml
deleted file mode 100644
index eb49140..0000000
--- a/.github/workflows/ci-publish.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: CI Publish
-
-on:
- workflow_call:
- secrets:
- jfArtifactorySpring:
- required: true
-
-jobs:
- publish:
- runs-on: ubuntu-latest
- name: CI Publish
- steps:
- - uses: actions/checkout@v2
- - uses: jvalkeal/setup-maven@v1
- with:
- maven-version: 3.8.4
- - uses: actions/setup-java@v2
- with:
- distribution: adopt
- java-version: 8
- - uses: jfrog/setup-jfrog-cli@v1
- with:
- version: 1.46.4
- env:
- JF_ARTIFACTORY_SPRING: ${{ secrets.jfArtifactorySpring }}
- - 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=release \
- --repo-deploy-snapshots=snapshot
- echo JFROG_CLI_BUILD_NAME=spring-shell-main >> $GITHUB_ENV
- echo JFROG_CLI_BUILD_NUMBER=$GITHUB_RUN_NUMBER >> $GITHUB_ENV
- - name: Build and Publish
- run: |
- jfrog rt mvn -B clean install -DskipTests
- jfrog rt build-publish
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 461e1ea..6492004 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,38 +1,296 @@
name: CI
on:
- workflow_dispatch:
+
+ # Called when code gets pushed to the main branch
push:
-# branches:
-# - 'main'
-# paths:
-# - 'scenario-task'
+ branches:
+ - main
paths-ignore:
- '.github/**'
+ # Called by UI
+ workflow_dispatch:
+
+ # Called by the CI PR workflow (invokes main CI but skips publish and push)
+ workflow_call:
+ inputs:
+ maven-build-only:
+ type: boolean
+ description: Skip Artifactory publish and Docker push for all apps
+ required: false
+ default: 'false'
+ secrets:
+ JF_ARTIFACTORY_SPRING:
+ description: 'encoded JFrog server id configuration'
+ required: false
+ DOCKER_USERNAME:
+ description: 'docker username'
+ required: false
+ DOCKER_TOKEN:
+ description: 'docker password'
+ required: false
+
jobs:
- build:
+
+ kafka-samples:
runs-on: ubuntu-latest
- strategy:
- fail-fast: false
- name: CI Build
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-java@v2
+ - uses: ./.github/actions/build-sample-app
with:
- distribution: adopt
- java-version: 8
- cache: maven
- - name: Build kafka-samples
- run: ./mvnw -B package
- working-directory: kafka-samples
- - name: Build multio-samples/ticktock
- run: ./mvnw -B package
- working-directory: multio-samples/ticktock
+ app-dir: 'kafka-samples'
+ mvn-build-commands: '-B clean verify -Pspring'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
-# publish:
-# needs: [build]
-# name: Call Publish Snapshot
-# uses: spring-cloud/spring-cloud-dataflow-samples/.github/workflows/ci-publish.yml@main
-# secrets:
-# jfArtifactorySpring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ multi-io-ticktock:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'multi-io-samples/ticktock'
+ mvn-build-commands: '-B clean install -Dmaven.javadoc.skip=true jib:dockerBuild -pl multi-output-time-rabbit,multi-input-log-rabbit,multi-output-time-kafka,multi-input-log-kafka'
+
+ multi-io-http-purchase-orders:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'multi-io-samples/purchase-orders/http-purchase-orders'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/multi-io-sample-http-purchase-orders:1.0.0-SNAPSHOT
+
+ user-clicks-per-region-12x:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'multi-io-samples/kafka-streams/user-clicks-per-region-1.2.x'
+ mvn-build-commands: '-B clean install jib:dockerBuild -pl http-click-ingest,http-region-ingest,http-clicks-and-region-ingest,user-clicks-per-region-processor,log-user-clicks-per-region'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/multi-io-sample-http-click-ingest:1.2.0-SNAPSHOT
+ springcloudstream/multi-io-sample-http-region-ingest:1.2.0-SNAPSHOT
+ springcloudstream/multi-io-sample-http-clicks-and-region-ingest:1.2.0-SNAPSHOT
+ springcloudstream/multi-io-sample-user-clicks-per-region-processor:1.2.0-SNAPSHOT
+ springcloudstream/multi-io-sample-log-user-clicks-per-region:1.2.0-SNAPSHOT
+
+ function-samples:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'function-samples'
+ mvn-build-commands: '-B clean verify -Pspring'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+
+ function-samples-uppercase-processor:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'function-samples/uppercase-processor'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/uppercase-processor:1.0.0-SNAPSHOT
+
+ stream-dev-guides-standalone-stream-kafka:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/stream-developer-guides/streams/standalone-stream-sample'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/usage-detail-sender-kafka:0.0.1-SNAPSHOT
+ springcloudstream/usage-cost-processor-kafka:0.0.1-SNAPSHOT
+ springcloudstream/usage-cost-logger-kafka:0.0.1-SNAPSHOT
+
+ stream-dev-guides-standalone-stream-rabbitmq:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/stream-developer-guides/streams/standalone-stream-sample'
+ mvn-build-commands: '-B clean install -Prabbit jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ jf-mvn-build-commands: '-B clean install -Prabbit -DskipTests'
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/usage-detail-sender-rabbit:0.0.1-SNAPSHOT
+ springcloudstream/usage-cost-processor-rabbit:0.0.1-SNAPSHOT
+ springcloudstream/usage-cost-logger-rabbit:0.0.1-SNAPSHOT
+
+ batch-dev-guides-batchsamples:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/batch-developer-guides/batch/batchsamples'
+ mvn-build-commands: '-B clean install spring-boot:build-image -Dspring-boot.build-image.imageName=springcloudtask/billsetuptask:0.0.1-SNAPSHOT'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudtask/billsetuptask:0.0.1-SNAPSHOT
+
+ stream-dev-guides-composed-http-transformer-kafka:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/stream-developer-guides/feature-guides/streams/function-composition/composed-http-transformer-kafka'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/composed-http-transformer-kafka:0.0.1-SNAPSHOT
+
+ stream-dev-guides-composed-http-transformer-kotlin-kafka:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/stream-developer-guides/feature-guides/streams/function-composition/composed-http-transformer-kotlin-kafka'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/composed-http-transformer-kotlin-kafka:0.0.1-SNAPSHOT
+
+ stream-dev-guides-composed-http-transformer-rabbitmq:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/stream-developer-guides/feature-guides/streams/function-composition/composed-http-transformer-rabbitmq'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/composed-http-transformer-rabbitmq:0.0.1-SNAPSHOT
+
+ stream-dev-guides-composed-http-transformer-kotlin-rabbitmq:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'dataflow-website/stream-developer-guides/feature-guides/streams/function-composition/composed-http-transformer-kotlin-rabbitmq'
+ mvn-build-commands: '-B clean install jib:dockerBuild'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudstream/composed-http-transformer-kotlin-rabbitmq:0.0.1-SNAPSHOT
+
+ task-demo-metrics-prometheus:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'monitoring-samples/task-apps/task-demo-metrics-prometheus'
+ mvn-build-commands: '-B clean install docker:build'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudtask/task-demo-metrics-prometheus:0.0.4-SNAPSHOT
+
+ scenario-task:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'scenario-task'
+ mvn-build-commands: '-B clean install spring-boot:build-image -Dspring-boot.build-image.imageName=springcloudtask/scenario-task:0.0.1-SNAPSHOT'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudtask/scenario-task:0.0.1-SNAPSHOT
+
+ timestamp-task:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'timestamp-task'
+ mvn-build-commands: '-B clean install spring-boot:build-image -Dspring-boot.build-image.imageName=springcloudtask/timestamp-task:1.0.0'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudtask/timestamp-task:1.0.0
+
+ timestamp-batch:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: ./.github/actions/build-sample-app
+ with:
+ app-dir: 'timestamp-batch'
+ mvn-build-commands: '-B clean install spring-boot:build-image -Dspring-boot.build-image.imageName=springcloudtask/timestamp-batch-task:1.0.0'
+ artifactory-publish: ${{ inputs.maven-build-only != 'true' }}
+ jf-artifactory-spring: ${{ secrets.JF_ARTIFACTORY_SPRING }}
+ docker-push: ${{ inputs.maven-build-only != 'true' }}
+ docker-username: ${{ secrets.DOCKERHUB_USERNAME }}
+ docker-password: ${{ secrets.DOCKERHUB_TOKEN }}
+ docker-images: >-
+ springcloudtask/timestamp-batch-task:1.0.0
diff --git a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/pom.xml b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/pom.xml
index 670830b..5d16f74 100644
--- a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/pom.xml
+++ b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/pom.xml
@@ -68,6 +68,9 @@
true
+
+ kafka
+
org.springframework.cloud
@@ -77,6 +80,9 @@
rabbit
+
+ rabbit
+
org.springframework.cloud
diff --git a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-logger/pom.xml b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-logger/pom.xml
index 5666e0b..a05c31d 100644
--- a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-logger/pom.xml
+++ b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-logger/pom.xml
@@ -9,9 +9,9 @@
..
- usage-cost-logger
- usage-cost-logger
- Demo project for Spring Boot
+ usage-cost-logger-${binder}
+ usage-cost-logger-${binder}
+ Demo project for Spring Boot (${binder})
diff --git a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-processor/pom.xml b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-processor/pom.xml
index 08c5aa0..8f4eb4a 100644
--- a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-processor/pom.xml
+++ b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-cost-processor/pom.xml
@@ -8,9 +8,9 @@
0.0.1-SNAPSHOT
..
- usage-cost-processor
- usage-cost-processor
- Demo project for Spring Boot
+ usage-cost-processor-${binder}
+ usage-cost-processor-${binder}
+ Demo project for Spring Boot (${binder})
diff --git a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-detail-sender/pom.xml b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-detail-sender/pom.xml
index e2291eb..ac9f375 100644
--- a/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-detail-sender/pom.xml
+++ b/dataflow-website/stream-developer-guides/streams/standalone-stream-sample/usage-detail-sender/pom.xml
@@ -8,9 +8,9 @@
0.0.1-SNAPSHOT
..
- usage-detail-sender
- usage-detail-sender
- Demo project for Spring Boot
+ usage-detail-sender-${binder}
+ usage-detail-sender-${binder}
+ Demo project for Spring Boot (${binder})
diff --git a/scenario-task/pom.xml b/scenario-task/pom.xml
index e44a425..56f53e2 100644
--- a/scenario-task/pom.xml
+++ b/scenario-task/pom.xml
@@ -17,7 +17,7 @@
8
Hoxton.SR9
- 1.15.0
+ 1.15.3