342 lines
15 KiB
YAML
342 lines
15 KiB
YAML
name: CI
|
|
|
|
on:
|
|
|
|
# Called when code gets pushed to the main branch
|
|
push:
|
|
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:
|
|
|
|
kafka-samples:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: ./.github/actions/build-sample-app
|
|
with:
|
|
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 }}
|
|
|
|
restaurant-stream-apps-customer:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: ./.github/actions/build-sample-app
|
|
with:
|
|
app-dir: 'restaurant-stream-apps/scdf-app-customer'
|
|
mvn-build-commands: '-B clean install spring-boot:build-image'
|
|
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/scdf-app-customer:1.0.0-SNAPSHOT'
|
|
|
|
restaurant-stream-apps-kitchen:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: ./.github/actions/build-sample-app
|
|
with:
|
|
app-dir: 'restaurant-stream-apps/scdf-app-kitchen'
|
|
mvn-build-commands: '-B clean install spring-boot:build-image'
|
|
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/scdf-app-kitchen:1.0.0-SNAPSHOT'
|
|
|
|
restaurant-stream-apps-waitron:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: ./.github/actions/build-sample-app
|
|
with:
|
|
app-dir: 'restaurant-stream-apps/scdf-app-waitron'
|
|
mvn-build-commands: '-B clean install spring-boot:build-image'
|
|
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/scdf-app-waitron:1.0.0-SNAPSHOT'
|
|
|
|
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 spring-boot:build-image -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 spring-boot:build-image'
|
|
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:2.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 spring-boot:build-image -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:2.0.0-SNAPSHOT
|
|
springcloudstream/multi-io-sample-http-region-ingest:2.0.0-SNAPSHOT
|
|
springcloudstream/multi-io-sample-http-clicks-and-region-ingest:2.0.0-SNAPSHOT
|
|
springcloudstream/multi-io-sample-user-clicks-per-region-processor:2.0.0-SNAPSHOT
|
|
springcloudstream/multi-io-sample-log-user-clicks-per-region:2.0.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 spring-boot:build-image'
|
|
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:2.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 spring-boot:build-image'
|
|
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:2.0.0-SNAPSHOT
|
|
springcloudstream/usage-cost-processor-kafka:2.0.0-SNAPSHOT
|
|
springcloudstream/usage-cost-logger-kafka:2.0.0-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 spring-boot:build-image'
|
|
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:2.0.0-SNAPSHOT
|
|
springcloudstream/usage-cost-processor-rabbit:2.0.0-SNAPSHOT
|
|
springcloudstream/usage-cost-logger-rabbit:2.0.0-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'
|
|
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:2.0.0-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 spring-boot:build-image'
|
|
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:2.0.0-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 spring-boot:build-image'
|
|
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:2.0.0-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 spring-boot:build-image'
|
|
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:2.0.0-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 spring-boot:build-image'
|
|
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:2.0.0-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 spring-boot:build-image'
|
|
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:2.0.0-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'
|
|
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:2.0.0-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'
|
|
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:2.0.2
|
|
|
|
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'
|
|
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:2.0.2
|