diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 17fb937d2..35f13af06 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,20 +3,15 @@ version: 2 updates: - package-ecosystem: "github-actions" directory: "/" + open-pull-requests-limit: 20 schedule: interval: weekly labels: - "Technical Debt" - package-ecosystem: "maven" directory: "/" + open-pull-requests-limit: 20 schedule: interval: weekly labels: - "Technical Debt" - - package-ecosystem: npm - directory: "/apps" - target-branch: "dev" - labels: - - "Technical Debt" - schedule: - interval: weekly diff --git a/.github/pr-labeler.yml b/.github/pr-labeler.yml new file mode 100644 index 000000000..1cc7c05f2 --- /dev/null +++ b/.github/pr-labeler.yml @@ -0,0 +1,5 @@ +feature: ['feature/*', 'feat/*'] +bug: ['bug/*', 'fix/*', 'bugfix/*'] +refactoring: ['refactoring/*'] +chore: ['chore/*'] +docs: ['docs/*'] diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 000000000..74fb37618 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,18 @@ +changelog: + categories: + - title: 🎉 New Features + labels: + - feature + - title: 🐞 Bug Fixes + labels: + - bug + - title: 🔨 Refactoring + labels: + - refactoring + - title: 📔 Documentation + labels: + - docs + - title: 🛠️ Misc + labels: + - Technical Debt + - chore diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d6368dea5..35a3b938b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,110 +2,28 @@ name: Build Application on: pull_request: - branches: - - main push: - branches: - - main jobs: - build_miranum_platform: + # maven build if branch != dev + # if branch dev == dev build and release docker images with dev tag + maven-build: + uses: ./.github/workflows/workflow-build-and-release-services.yml + with: + release-version: dev + snapshot-release: true + maven-release: false + # FIXME rename the feat/new_platform branch + # docker-release: ${{ github.ref_name == 'dev' }} + docker-release: ${{ github.ref_name == 'feat/new_platform' }} + secrets: inherit + + labelPR: + name: Label PR runs-on: ubuntu-latest steps: - - name: PREP / Checkout sources - uses: actions/checkout@v4 - - name: PREP / Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'corretto' - - name: PREP / Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: PREP / Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: PREP / Set Release version env variable - run: | - echo "RELEASE_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - # BUILD ALL SERVICES USING MAVEN - - name: BUILD / SERVICES / Execute Maven build - run: ./mvnw package - # BUILD TASKLIST-WEB-APP - - name: BUILD / APPS / Install dependencies - run: ./mvnw -f apps clean install - - name: BUILD / APPS / Build Tasklist-Web-App - run: ./mvnw -f apps -Pbuild - # DOCKERIZE ENGINE-TASKLIST-SERVICE - - name: DOCKERIZE / Engine-Tasklist-Service / Build image - run: docker build ./services/engine-tasklist-service/. -t miragon/miranum-platform-engine-tasklist-service:${{ env.RELEASE_VERSION }} - - name: DOCKERIZE / Engine-Tasklist-Service / Scan image - id: scan-engine-tasklist-service - uses: anchore/scan-action@v3 - with: - image: miragon/miranum-platform-engine-tasklist-service:${{ env.RELEASE_VERSION }} - fail-build: false - debug: false - acs-report-enable: true - - name: DOCKERIZE / Engine-Tasklist-Service / Parse SARIF file - uses: Miragon/sarif-report-parse@v1.0.3 - with: - sarif-file: ${{ steps.scan-engine-tasklist-service.outputs.sarif }} - # DOCKERIZE SCHEMA-REGISTRY-SERVICE - - name: DOCKERIZE / Schema-Registry-Service / Build image - run: docker build ./services/schema-registry-service/. -t miragon/miranum-platform-schema-registry-service:${{ env.RELEASE_VERSION }} - - name: DOCKERIZE / Schema-Registry-Service / Scan image - id: scan-schema-registry-service - uses: anchore/scan-action@v3 - with: - image: miragon/miranum-platform-schema-registry-service:${{ env.RELEASE_VERSION }} - fail-build: false - debug: false - acs-report-enable: true - - name: DOCKERIZE / Schema-Registry-Service / Parse SARIF file - uses: Miragon/sarif-report-parse@v1.0.3 - with: - sarif-file: ${{ steps.scan-schema-registry-service.outputs.sarif }} - # DOCKERIZE DEPLOYMENT-SERVICE - - name: DOCKERIZE / Deployment-Service / Build image - run: docker build ./services/deployment-service/. -t miragon/miranum-platform-deployment-service:${{ env.RELEASE_VERSION }} - - name: DOCKERIZE / Deployment-Service / Scan image - id: scan-deployment-service - uses: anchore/scan-action@v3 - with: - image: miragon/miranum-platform-deployment-service:${{ env.RELEASE_VERSION }} - fail-build: false - debug: false - acs-report-enable: true - - name: DOCKERIZE / Deployment-Service / Parse SARIF file - uses: Miragon/sarif-report-parse@v1.0.3 - with: - sarif-file: ${{ steps.scan-deployment-service.outputs.sarif }} - # DOCKERIZE S3-INTEGRATION-SERVICE - - name: DOCKERIZE / S3-Integration-Service / Build image - run: docker build ./services/s3-integration-service/. -t miragon/miranum-platform-s3-integration-service:${{ env.RELEASE_VERSION }} - - name: DOCKERIZE / S3-Integration-Service / Scan image - id: scan-s3-integration-service - uses: anchore/scan-action@v3 - with: - image: miragon/miranum-platform-s3-integration-service:${{ env.RELEASE_VERSION }} - fail-build: false - debug: false - acs-report-enable: true - - name: DOCKERIZE / S3-Integration-Service / Parse SARIF file - uses: Miragon/sarif-report-parse@v1.0.3 - with: - sarif-file: ${{ steps.scan-s3-integration-service.outputs.sarif }} - # DOCKERIZE TASKLIST-WEB-APP - - name: DOCKERIZE / Tasklist-Webapp / Build image - run: docker build ./apps/packages/apps/digiwf-tasklist/. -t miragon/miranum-platform-tasklist-webapp:${{ env.RELEASE_VERSION }} - - name: DOCKERIZE / Tasklist-Webapp / Scan image - id: scan-tasklist-webapp - uses: anchore/scan-action@v3 - with: - image: miragon/miranum-platform-tasklist-webapp:${{ env.RELEASE_VERSION }} - fail-build: false - debug: false - acs-report-enable: true - - name: DOCKERIZE / Tasklist-Webapp / Parse SARIF file - uses: Miragon/sarif-report-parse@v1.0.3 + - uses: TimonVS/pr-labeler-action@v5 + if: github.event_name == 'pull_request' with: - sarif-file: ${{ steps.scan-tasklist-webapp.outputs.sarif }} + repo-token: ${{ secrets.GITHUB_TOKEN }} + configuration-path: .github/pr-labeler.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 5117e808c..000000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: Build And Publish Application - -on: - workflow_dispatch: - inputs: - release-docker-image: - description: 'Release Docker Images using version specified in pom.xml (y/n)?' - required: true - default: 'y' - -jobs: - build-and-publish-docker-image: - if: github.event.inputs.release-docker-image == 'y' - runs-on: ubuntu-latest - steps: - - name: PREP / Checkout sources - uses: actions/checkout@v4 - - name: PREP / Set up JDK 17 - uses: actions/setup-java@v4 - with: - java-version: '17' - distribution: 'corretto' - - name: PREP / Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: PREP / Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: PREP / Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKER_MIRAGON_USERNAME }} - password: ${{ secrets.DOCKER_MIRAGON_PASSWORD }} - - name: PREP / Set Release version env variable - run: | - echo "RELEASE_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV - # BUILD ALL SERVICES USING MAVEN - - name: BUILD / SERVICES / Execute Maven build - run: ./mvnw package - # BUILD TASKLIST-WEB-APP - - name: BUILD / APPS / Install dependencies - run: ./mvnw -f apps clean install - - name: BUILD / APPS / Build Tasklist-Web-App - run: ./mvnw -f apps -Pbuild - # DOCKERIZE & PUBLISH ALL IMAGES - - name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-engine-tasklist-service - uses: docker/build-push-action@v5 - with: - context: ./services/engine-tasklist-service/. - push: true - tags: miragon/miranum-platform-engine-tasklist-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-engine-tasklist-service:latest - platforms: linux/amd64, linux/arm64/v8 - - name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-schema-registry-service - uses: docker/build-push-action@v5 - with: - context: ./services/schema-registry-service/. - push: true - tags: miragon/miranum-platform-schema-registry-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-schema-registry-service:latest - platforms: linux/amd64, linux/arm64/v8 - - name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-deployment-service - uses: docker/build-push-action@v5 - with: - context: ./services/deployment-service/. - push: true - tags: miragon/miranum-platform-deployment-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-deployment-service:latest - platforms: linux/amd64, linux/arm64/v8 - - name: DOCKER / BUILD & PUBLISH / miragon/miranum-platform-s3-integration-service - uses: docker/build-push-action@v5 - with: - context: ./services/s3-integration-service/. - push: true - tags: miragon/miranum-platform-s3-integration-service:${{ env.RELEASE_VERSION }},miragon/miranum-platform-s3-integration-service:latest - platforms: linux/amd64, linux/arm64/v8 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..9377f7bca --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +name: Release + +on: + workflow_dispatch: + inputs: + release-tag: + description: 'Release Tag' + required: false + default: 'services_XXX_apps_XXX' + maven-new-version: + description: '(Optional) Specify new maven version - SNAPSHOT will be added to the version' + required: false + +jobs: + release-version: + runs-on: ubuntu-latest + steps: + - uses: PREP / actions/checkout@v4 + - name: PREP / Prepare mvnw + run: chmod +x ./mvnw + - name: PREP / Remove snapshot from services + run: ./mvnw versions:set --batch-mode -DremoveSnapshot -DprocessAllModules + - name: PREP / Set services release version env variable + run: echo "SERVICES_RELEASE_VERSION=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV + outputs: + services-release-version: ${{ env.SERVICES_RELEASE_VERSION }} + + release-services: + needs: release-version + uses: ./.github/workflows/workflow-build-and-release-services.yml + with: + release-version: ${{ needs.release-version.outputs.services-release-version }} + snapshot-release: false + maven-release: true + docker-release: true + secrets: inherit + + github-release: + needs: release-services + uses: ./.github/workflows/workflow-github-release.yaml + with: + release-tag: ${{ github.event.inputs.release-tag }} + secrets: inherit + + bump-versions: + needs: github-release + uses: ./.github/workflows/workflow-bump-version.yaml + with: + new-maven-version: ${{ github.event.inputs.maven-new-version }} + secrets: inherit + diff --git a/.github/workflows/workflow-build-and-release-services.yml b/.github/workflows/workflow-build-and-release-services.yml new file mode 100644 index 000000000..c168e22b5 --- /dev/null +++ b/.github/workflows/workflow-build-and-release-services.yml @@ -0,0 +1,102 @@ +name: Release services + +on: + workflow_call: + inputs: + release-version: + description: 'Services release version' + type: string + required: false + snapshot-release: + description: 'Snapshot release?' + type: boolean + required: true + default: false + maven-release: + description: 'Release maven' + type: boolean + required: true + default: true + docker-release: + description: 'Release docker images' + type: boolean + required: true + default: true + +jobs: + release-services: + runs-on: ubuntu-latest + steps: + - name: PREP / Check out Git repository + uses: actions/checkout@v4 + - name: PREP / Install Java and Maven + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'corretto' + server-id: "ossrh" + server-username: ${{ secrets.nexus_username }} + server-password: ${{ secrets.nexus_password }} + - name: PREP / Set up QEMU + if: inputs.docker-release == true + uses: docker/setup-qemu-action@v3 + - name: PREP / Set up Docker Buildx + if: inputs.docker-release == true + uses: docker/setup-buildx-action@v3 + - name: PREP / Login to DockerHub + if: inputs.docker-release == true + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_MIRAGON_USERNAME }} + password: ${{ secrets.DOCKER_MIRAGON_PASSWORD }} + # + # The GPG key is stored in the secret using the text 'PGP Private Key' format + # Import it to GPG keyring and trust it. + # + - name: PREP / Import GPG key + if: inputs.maven-release == true + run: echo "${{ secrets.PGP_PRIVATE_KEY }}" | gpg --import --no-tty --batch --yes --always-trust + env: + PGP_PRIVATE_KEY: ${{ secrets.PGP_PRIVATE_KEY }} + # + # Show available keys. This will hide the key name (since it is in the secrets), but show for example expiration date + # + - name: PREP / List GPG keys available + if: inputs.maven-release == true + run: gpg --list-secret-keys --keyid-format=long + + - name: BUILD / Build with Maven + if: inputs.maven-release == false + run: | + chmod +x ./mvnw + ./mvnw --batch-mode clean install + + - name: RELEASE / Remove SNAPSHOT + if: inputs.snapshot-release == false + run: | + chmod +x ./mvnw + ./mvnw versions:set --batch-mode -DremoveSnapshot -DprocessAllModules + + - name: RELEASE / Build and Release Maven + if: inputs.maven-release == true + run: ./mvnw --batch-mode --no-transfer-progress deploy --activate-profiles release -DskipTests -Dgpg.keyname="${{ secrets.PGP_PRIVATE_KEY }}" -Dgpg.passphrase="${{ secrets.PGP_PRIVATE_KEY_SECRET }}" + env: + PGP_PRIVATE_KEY: ${{ secrets.PGP_PRIVATE_KEY }} + PGP_PRIVATE_KEY_SECRET: ${{ secrets.PGP_PRIVATE_KEY_SECRET }} + + - name: DOCKER / BUILD & PUBLISH / miragon/miranum-camunda7-engine-service + if: inputs.docker-release == true + uses: docker/build-push-action@v5 + with: + context: ./platform/services/miragon/camunda7-engine-service/. + push: true + tags: miragon/miranum-camunda7-engine-service:${{ env.RELEASE_VERSION }} + platforms: linux/amd64, linux/arm64/v8 + - name: DOCKER / BUILD & PUBLISH / miragon/miranum-deployment-service + if: inputs.docker-release == true + uses: docker/build-push-action@v5 + with: + context: ./platform/services/deployment-service/. + push: true + tags: miragon/miranum-deployment-service:${{ env.RELEASE_VERSION }} + platforms: linux/amd64, linux/arm64/v8 diff --git a/.github/workflows/workflow-bump-version.yaml b/.github/workflows/workflow-bump-version.yaml new file mode 100644 index 000000000..6796e7c1c --- /dev/null +++ b/.github/workflows/workflow-bump-version.yaml @@ -0,0 +1,77 @@ +name: Bump version + +on: + workflow_call: + inputs: + new-maven-version: + description: 'New maven version' + type: string + required: false + workflow_dispatch: + inputs: + new-maven-version: + description: 'New maven version' + type: string + required: false + +jobs: + bump-versions: + name: Bumps versions + runs-on: ubuntu-latest + steps: + - name: PREP / Checkout code + uses: actions/checkout@v4 + - name: PREP / Setup git + run: | + git config --global user.email "miranum@miragon.de" + git config --global user.name "Miranum Github Bot" + - name: PREP / Prepare mvnw + run: chmod +x ./mvnw + - name: PREP / Install Java and Maven + if: inputs.bump-services-version== true + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'corretto' + + - name: BUMP VERSION / Raise mvn version + if: inputs.new-maven-version != '' + run: | + ./mvnw versions:set --batch-mode -DprocessAllModules -DnewVersion=${{ inputs.new-maven-version }}-SNAPSHOT -DprocessAllModules + ./mvnw versions:commit -DprocessAllModules + - name: BUMP VERSION / Raise mvn version + if: inputs.new-maven-version == '' + run: | + ./mvnw build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT -DprocessAllModules + ./mvnw versions:commit -DprocessAllModules + - name: GIT / Git commit + run: | + git add . + git commit -m "chore: mvn auto version bump to $(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)" + + - name: GIT / Push changes to new branch + run: | + git checkout -b ${{ github.ref_name }}-version-bump + git push --force origin ${{ github.ref_name }}-version-bump + - name: GIT / Create pull request + uses: actions/github-script@v7 + with: + script: | + const { repo, owner } = context.repo; + const pullResult = await github.rest.pulls.create({ + title: 'chore: bump release version ${{ github.ref_name }}', + owner, + repo, + head: '${{ github.ref_name }}-version-bump', + base: '${{ github.ref_name }}', + body: [ + 'This PR is auto-generated' + ].join('\n') + }); + await github.rest.issues.addAssignees({ + owner, + repo, + issue_number: pullResult.data.number, + assignees: ['${{ github.actor }}'], + }); + console.log(`Pull Request created: ${pullResult.data.html_url}`); diff --git a/.github/workflows/workflow-github-release.yaml b/.github/workflows/workflow-github-release.yaml new file mode 100644 index 000000000..920787595 --- /dev/null +++ b/.github/workflows/workflow-github-release.yaml @@ -0,0 +1,36 @@ +name: Github Release + +on: + workflow_call: + inputs: + release-tag: + description: 'Release tag' + type: string + required: true + +jobs: + github-release: + name: Create Release + runs-on: ubuntu-latest + steps: + - name: PREP / Checkout code + uses: actions/checkout@v4 + + - name: GIT / Create tag + uses: actions/github-script@v7 + with: + script: | + github.rest.git.createRef({ + owner: context.repo.owner, + repo: context.repo.repo, + ref: 'refs/tags/${{ inputs.release-tag }}', + sha: context.sha + }) + - name: GIT / Create GitHub Release + id: create_release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ inputs.release-tag }} + draft: false + prerelease: false + generate_release_notes: true diff --git a/connect/camunda7-remote/message/pom.xml b/connect/camunda7-remote/message/pom.xml index ce3e5d740..f1c7b92c0 100644 --- a/connect/camunda7-remote/message/pom.xml +++ b/connect/camunda7-remote/message/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-camunda7-remote - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda7-remote/oauth/pom.xml b/connect/camunda7-remote/oauth/pom.xml index bea090bb4..58142de34 100644 --- a/connect/camunda7-remote/oauth/pom.xml +++ b/connect/camunda7-remote/oauth/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-camunda7-remote - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda7-remote/pom.xml b/connect/camunda7-remote/pom.xml index 46892b6fd..74748d052 100644 --- a/connect/camunda7-remote/pom.xml +++ b/connect/camunda7-remote/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform miranum-connect - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda7-remote/process/pom.xml b/connect/camunda7-remote/process/pom.xml index 345b24103..5d682dc05 100644 --- a/connect/camunda7-remote/process/pom.xml +++ b/connect/camunda7-remote/process/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-camunda7-remote - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda7-remote/utils/pom.xml b/connect/camunda7-remote/utils/pom.xml index 064a3fe89..680f680e7 100644 --- a/connect/camunda7-remote/utils/pom.xml +++ b/connect/camunda7-remote/utils/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-camunda7-remote - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda7-remote/worker/pom.xml b/connect/camunda7-remote/worker/pom.xml index 6f907b237..b41adbbfa 100644 --- a/connect/camunda7-remote/worker/pom.xml +++ b/connect/camunda7-remote/worker/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-camunda7-remote - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda8/message/pom.xml b/connect/camunda8/message/pom.xml index 8a6b4f698..5ef2f317c 100644 --- a/connect/camunda8/message/pom.xml +++ b/connect/camunda8/message/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-c8 - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda8/pom.xml b/connect/camunda8/pom.xml index ab734a17e..ebc254d82 100644 --- a/connect/camunda8/pom.xml +++ b/connect/camunda8/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform miranum-connect - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda8/process/pom.xml b/connect/camunda8/process/pom.xml index 753e4dc4f..a3a7d6ffa 100644 --- a/connect/camunda8/process/pom.xml +++ b/connect/camunda8/process/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-c8 - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/camunda8/worker/pom.xml b/connect/camunda8/worker/pom.xml index 1839b608b..8cd03675c 100644 --- a/connect/camunda8/worker/pom.xml +++ b/connect/camunda8/worker/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-c8 - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/element-template-api/pom.xml b/connect/core/element-template-api/pom.xml index 31d53716f..776a58b9a 100644 --- a/connect/core/element-template-api/pom.xml +++ b/connect/core/element-template-api/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/json/api/pom.xml b/connect/core/json/api/pom.xml index 4eea3847c..4a7ea821e 100644 --- a/connect/core/json/api/pom.xml +++ b/connect/core/json/api/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-json - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/json/pom.xml b/connect/core/json/pom.xml index c9009f43a..f61ee0d8e 100644 --- a/connect/core/json/pom.xml +++ b/connect/core/json/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/json/schema-registry/pom.xml b/connect/core/json/schema-registry/pom.xml index 7e0c5a806..dde5bb568 100644 --- a/connect/core/json/schema-registry/pom.xml +++ b/connect/core/json/schema-registry/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-json - ${revision} + 0.3.1-SNAPSHOT @@ -62,7 +62,7 @@ io.miranum.platform connect-shared - ${revision} + ${project.version} diff --git a/connect/core/message-api/pom.xml b/connect/core/message-api/pom.xml index 360d6ba40..2df313e3a 100644 --- a/connect/core/message-api/pom.xml +++ b/connect/core/message-api/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 19e2690e3..f61dc2c97 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -9,7 +9,7 @@ io.miranum.platform miranum-connect - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/process-api/pom.xml b/connect/core/process-api/pom.xml index f4aa357f7..3ae9a3982 100644 --- a/connect/core/process-api/pom.xml +++ b/connect/core/process-api/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/s3/pom.xml b/connect/core/s3/pom.xml index 669971e12..d943eda9e 100644 --- a/connect/core/s3/pom.xml +++ b/connect/core/s3/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT miranum-connect-s3 diff --git a/connect/core/shared/pom.xml b/connect/core/shared/pom.xml index 30d008c47..90b570d90 100644 --- a/connect/core/shared/pom.xml +++ b/connect/core/shared/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/task-api/pom.xml b/connect/core/task-api/pom.xml index 1fa353c6c..9edf3ff7f 100644 --- a/connect/core/task-api/pom.xml +++ b/connect/core/task-api/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/core/worker-api/pom.xml b/connect/core/worker-api/pom.xml index 608d6b3a1..73cb30bc0 100644 --- a/connect/core/worker-api/pom.xml +++ b/connect/core/worker-api/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-core - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/pom.xml b/connect/pom.xml index f2a553bd1..fcdc88a95 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -9,7 +9,7 @@ io.miranum.platform miranum - ${revision} + 0.3.1-SNAPSHOT @@ -23,7 +23,7 @@ io.miranum.platform miranum-unit-test - ${revision} + 0.3.1-SNAPSHOT test diff --git a/connect/templates/camunda7/pom.xml b/connect/templates/camunda7/pom.xml index 2d410eb8e..e22916b5b 100644 --- a/connect/templates/camunda7/pom.xml +++ b/connect/templates/camunda7/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-element-templates-maven-plugin - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/templates/camunda8/pom.xml b/connect/templates/camunda8/pom.xml index 4a4f15a1c..f9f8c3912 100644 --- a/connect/templates/camunda8/pom.xml +++ b/connect/templates/camunda8/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-element-templates-maven-plugin - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/templates/generator-maven-plugin-core/pom.xml b/connect/templates/generator-maven-plugin-core/pom.xml index 518ac2031..7d6208154 100644 --- a/connect/templates/generator-maven-plugin-core/pom.xml +++ b/connect/templates/generator-maven-plugin-core/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform connect-element-templates-maven-plugin - ${revision} + 0.3.1-SNAPSHOT @@ -28,7 +28,7 @@ io.miranum.platform connect-worker-api - ${revision} + ${project.version} compile diff --git a/connect/templates/generator-maven-plugin/pom.xml b/connect/templates/generator-maven-plugin/pom.xml index 7223485df..3247b23e7 100644 --- a/connect/templates/generator-maven-plugin/pom.xml +++ b/connect/templates/generator-maven-plugin/pom.xml @@ -16,7 +16,7 @@ io.miranum.platform connect-element-templates-maven-plugin - ${revision} + 0.3.1-SNAPSHOT diff --git a/connect/templates/pom.xml b/connect/templates/pom.xml index 70e6d389d..b0c659920 100644 --- a/connect/templates/pom.xml +++ b/connect/templates/pom.xml @@ -10,7 +10,7 @@ io.miranum.platform miranum-connect - ${revision} + 0.3.1-SNAPSHOT diff --git a/docs/CICD.md b/docs/CICD.md new file mode 100644 index 000000000..16046f13c --- /dev/null +++ b/docs/CICD.md @@ -0,0 +1,41 @@ +# CICD + +We use GitHub Actions for CICD Pipelines. The pipelines are defined in the `.github/workflows` directory. + +## Workflows + +### Build + +**Feature Branches** + +Build the project using Maven on each commit and PR to the `main` branch. + +```mermaid +graph LR + A[Checkout] --> B[Maven Build] +``` + +**Main Branch** + +Every new commit to the `main` branch builds the project using Maven and builds and releases Docker Images to Docker Hub with the tag `dev`. + +```mermaid +graph LR + A[Checkout] --> B[Maven Build] + B --> C[Docker Build and Push] +``` + +### Release + +Releases are triggered by dispatching the Release workflow manually. +The release workflow creates a new maven release and builds and releases Docker Images to Docker Hub with a version tag. +Additionally, a GitHub Release is created with auto generated release notes and finally the Maven version is bumped to the next snapshot version (or the version specified with the workflow dispatch). + +```mermaid +graph LR + A[Checkout] --> B[Maven Build and Release] + B --> C[Docker Build and Push] + C --> D[Github Release] + D --> E[Maven Version Bump] +``` + diff --git a/platform/engine/core/pom.xml b/platform/engine/core/pom.xml index 66d4d333b..d98cb94a0 100644 --- a/platform/engine/core/pom.xml +++ b/platform/engine/core/pom.xml @@ -8,7 +8,7 @@ io.miranum.platform miranum-engine - ${revision} + 0.3.1-SNAPSHOT @@ -64,17 +64,17 @@ io.miranum.platform miranum-engine-user - ${revision} + ${project.version} io.miranum.platform connect-message-api - ${revision} + ${project.version} io.miranum.platform connect-process-api - ${revision} + ${project.version} diff --git a/platform/engine/pom.xml b/platform/engine/pom.xml index 0c7a723a3..1381d3303 100644 --- a/platform/engine/pom.xml +++ b/platform/engine/pom.xml @@ -9,7 +9,7 @@ io.miranum.platform miranum-platform - ${revision} + 0.3.1-SNAPSHOT diff --git a/platform/engine/task/pom.xml b/platform/engine/task/pom.xml index b7e0b1de8..7891bbdb4 100644 --- a/platform/engine/task/pom.xml +++ b/platform/engine/task/pom.xml @@ -8,7 +8,7 @@ io.miranum.platform miranum-engine - ${revision} + 0.3.1-SNAPSHOT @@ -32,7 +32,7 @@ io.miranum.platform miranum-engine-user - ${revision} + ${project.version} diff --git a/platform/engine/user/pom.xml b/platform/engine/user/pom.xml index 938775444..b7796c604 100644 --- a/platform/engine/user/pom.xml +++ b/platform/engine/user/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform miranum-engine - ${revision} + 0.3.1-SNAPSHOT miranum-engine-user diff --git a/platform/libs/pom.xml b/platform/libs/pom.xml index b98870a52..42e2704e6 100644 --- a/platform/libs/pom.xml +++ b/platform/libs/pom.xml @@ -9,7 +9,7 @@ io.miranum.platform miranum-platform - ${revision} + 0.3.1-SNAPSHOT diff --git a/platform/libs/spring-security/pom.xml b/platform/libs/spring-security/pom.xml index c5930368e..9977c746a 100644 --- a/platform/libs/spring-security/pom.xml +++ b/platform/libs/spring-security/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform miranum-libs - ${revision} + 0.3.1-SNAPSHOT spring-security diff --git a/platform/libs/spring-security/spring-security-core/pom.xml b/platform/libs/spring-security/spring-security-core/pom.xml index 6af6ff8de..b5f8d4bdd 100644 --- a/platform/libs/spring-security/spring-security-core/pom.xml +++ b/platform/libs/spring-security/spring-security-core/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform spring-security - ${revision} + 0.3.1-SNAPSHOT spring-security-core diff --git a/platform/libs/spring-security/spring-security-starter/pom.xml b/platform/libs/spring-security/spring-security-starter/pom.xml index cdaaaed2f..859eff296 100644 --- a/platform/libs/spring-security/spring-security-starter/pom.xml +++ b/platform/libs/spring-security/spring-security-starter/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform spring-security - ${revision} + 0.3.1-SNAPSHOT spring-security-starter diff --git a/platform/libs/unit-test/pom.xml b/platform/libs/unit-test/pom.xml index c90333b6f..3a6279ef4 100644 --- a/platform/libs/unit-test/pom.xml +++ b/platform/libs/unit-test/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform miranum-libs - ${revision} + 0.3.1-SNAPSHOT miranum-unit-test diff --git a/platform/pom.xml b/platform/pom.xml index 7cd03baba..a29f54121 100644 --- a/platform/pom.xml +++ b/platform/pom.xml @@ -3,9 +3,7 @@ xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - io.miranum.platform miranum-platform - ${revision} miranum-platform pom Miranum Platform @@ -14,7 +12,7 @@ io.miranum.platform miranum - ${revision} + 0.3.1-SNAPSHOT diff --git a/platform/services/camunda7-engine-service/pom.xml b/platform/services/camunda7-engine-service/pom.xml index ee334a0e3..d73723308 100644 --- a/platform/services/camunda7-engine-service/pom.xml +++ b/platform/services/camunda7-engine-service/pom.xml @@ -8,7 +8,7 @@ io.miranum.platform services - ${revision} + 0.3.1-SNAPSHOT diff --git a/platform/services/deployment-service/pom.xml b/platform/services/deployment-service/pom.xml index 4d0d6802a..8dbe73c63 100644 --- a/platform/services/deployment-service/pom.xml +++ b/platform/services/deployment-service/pom.xml @@ -6,7 +6,7 @@ io.miranum.platform services - ${revision} + 0.3.1-SNAPSHOT de.muenchen.oss.digiwf diff --git a/platform/services/pom.xml b/platform/services/pom.xml index 87a46a12b..bd6b65ed9 100644 --- a/platform/services/pom.xml +++ b/platform/services/pom.xml @@ -9,7 +9,7 @@ io.miranum.platform miranum-platform - ${revision} + 0.3.1-SNAPSHOT diff --git a/pom.xml b/pom.xml index 6e650ecb8..8cb1757c2 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 io.miranum.platform miranum - ${revision} + 0.3.1-SNAPSHOT miranum pom Miranum