fix(deps): update spring boot to v4 (main) (major) #3848
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - maintenance/* | |
| pull_request: | |
| branches: | |
| - main | |
| - maintenance/* | |
| - release/* | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 5 * * 1-5" | |
| jobs: | |
| distro: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Build and run default tests | |
| working-directory: data-migrator | |
| run: mvn clean install -Dmaven.test.skip --batch-mode | |
| - name: Collect distro | |
| id: distro | |
| if: github.ref == 'refs/heads/main' | |
| run: | | |
| ARTIFACT_DIR=$(mktemp -d) | |
| cp data-migrator/assembly/target/camunda-7-to-8-data-migrator-*.tar.gz "${ARTIFACT_DIR}/" | |
| cp data-migrator/assembly/target/camunda-7-to-8-data-migrator-*.zip "${ARTIFACT_DIR}/" | |
| echo "dir=${ARTIFACT_DIR}" >> $GITHUB_OUTPUT | |
| - name: Upload distro | |
| uses: actions/upload-artifact@v6 | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| name: distro | |
| path: ${{ steps.distro.outputs.dir }} | |
| retention-days: 7 | |
| code-conversion: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Build code-conversion module | |
| working-directory: code-conversion | |
| run: mvn verify -PcheckFormat --batch-mode | |
| - name: Set up Node.js for pattern validation | |
| uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6 | |
| with: | |
| node-version: 24 | |
| - name: Install pattern dependencies | |
| working-directory: code-conversion/patterns | |
| run: npm install | |
| - name: Validate pattern catalog is up-to-date | |
| working-directory: code-conversion/patterns | |
| run: | | |
| echo "Generating pattern catalog..." | |
| node generate-catalog.js | |
| node generate-all-in-one.js | |
| echo "Checking if catalog files are in sync..." | |
| if ! git diff --exit-code README.md ALL_IN_ONE.md; then | |
| echo "❌ Pattern catalog is out of sync!" | |
| exit 1 | |
| fi | |
| echo "✅ Pattern catalog is up-to-date!" | |
| - name: Collect code-conversion artifacts | |
| id: code-conversion-artifacts | |
| if: github.ref == 'refs/heads/main' | |
| run: | | |
| ARTIFACT_DIR=$(mktemp -d) | |
| cp code-conversion/recipes/target/camunda-7-to-8-code-conversion-recipes-*.jar "${ARTIFACT_DIR}/" | |
| echo "dir=${ARTIFACT_DIR}" >> $GITHUB_OUTPUT | |
| - name: Upload code-conversion artifacts | |
| uses: actions/upload-artifact@v6 | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| name: code-conversion | |
| path: ${{ steps.code-conversion-artifacts.outputs.dir }} | |
| retention-days: 7 | |
| diagram-converter: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Build and test diagram-converter module | |
| working-directory: diagram-converter | |
| run: mvn verify -Pdistro,checkFormat --batch-mode | |
| - name: Collect diagram-converter artifacts | |
| id: diagram-converter-artifacts | |
| if: github.ref == 'refs/heads/main' | |
| run: | | |
| ARTIFACT_DIR=$(mktemp -d) | |
| cp diagram-converter/core/target/camunda-7-to-8-diagram-converter-core-*.jar "${ARTIFACT_DIR}/" | |
| cp diagram-converter/webapp/target/camunda-7-to-8-diagram-converter-webapp-*.jar "${ARTIFACT_DIR}/" | |
| cp diagram-converter/cli/target/camunda-7-to-8-diagram-converter-cli-*.jar "${ARTIFACT_DIR}/" | |
| echo "dir=${ARTIFACT_DIR}" >> $GITHUB_OUTPUT | |
| - name: Upload diagram-converter artifacts | |
| uses: actions/upload-artifact@v6 | |
| if: github.ref == 'refs/heads/main' | |
| with: | |
| name: diagram-converter | |
| path: ${{ steps.diagram-converter-artifacts.outputs.dir }} | |
| retention-days: 7 | |
| it-runtime-postgresql: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:runtime') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run runtime tests with PostgreSQL | |
| working-directory: data-migrator | |
| run: mvn verify -Ppostgresql,integration,runtime-only | |
| it-history-postgresql: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:history') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run history tests with PostgreSQL | |
| working-directory: data-migrator | |
| run: mvn verify -Ppostgresql,integration,history-only | |
| it-runtime-h2: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:runtime') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run runtime tests with H2 | |
| working-directory: data-migrator | |
| run: mvn verify -Pintegration,runtime-only | |
| it-history-h2: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:history') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run history tests with H2 | |
| working-directory: data-migrator | |
| run: mvn verify -Pintegration,history-only | |
| it-runtime-oracle: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:runtime') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run runtime tests with Oracle | |
| working-directory: data-migrator | |
| run: mvn verify -Poracle,integration,runtime-only | |
| it-history-oracle: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:history') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run history tests with Oracle | |
| working-directory: data-migrator | |
| run: mvn verify -Poracle,integration,history-only | |
| it-history-h2-windows: | |
| runs-on: windows-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:history') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Enable long paths for Git on Windows | |
| if: runner.os == 'Windows' | |
| run: git config --global core.longpaths true | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Build and run history tests on Windows | |
| working-directory: data-migrator | |
| run: mvn clean install -P'windows,integration' --batch-mode | |
| it-identity-postgresql: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:identity') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run identity tests with PostgreSQL | |
| working-directory: data-migrator | |
| run: mvn verify -Ppostgresql,integration,identity-only | |
| it-identity-h2: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:identity') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run identity tests with H2 | |
| working-directory: data-migrator | |
| run: mvn verify -Pintegration,identity-only | |
| it-identity-oracle: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 70 | |
| if: | | |
| github.event_name == 'push' || | |
| github.event_name == 'schedule' || | |
| github.event_name == 'workflow_dispatch' || | |
| (github.event_name == 'pull_request' && ( | |
| contains(github.event.pull_request.labels.*.name, 'ci:identity') || | |
| (!contains(github.event.pull_request.labels.*.name, 'ci:runtime') && !contains(github.event.pull_request.labels.*.name, 'ci:history') && !contains(github.event.pull_request.labels.*.name, 'ci:identity')) | |
| )) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Run identity tests with Oracle | |
| working-directory: data-migrator | |
| run: mvn verify -Poracle,integration,identity-only | |
| e2e: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Import secrets | |
| id: secrets | |
| uses: hashicorp/vault-action@4c06c5ccf5c0761b6029f56cfb1dcf5565918a3b # v3.4.0 | |
| with: | |
| url: ${{ secrets.VAULT_ADDR }} | |
| method: approle | |
| roleId: ${{ secrets.VAULT_ROLE_ID }} | |
| secretId: ${{ secrets.VAULT_SECRET_ID }} | |
| secrets: | | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_USR; | |
| secret/data/products/cambpm/ci/nexus NEXUS_APP_CAMUNDA_COM_PSW; | |
| - name: Setup Maven | |
| uses: ./.github/actions/setup-maven | |
| with: | |
| vault-address: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} | |
| - name: Login to Camunda Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: registry.camunda.cloud | |
| username: ${{ steps.secrets.outputs.NEXUS_APP_CAMUNDA_COM_USR }} | |
| password: ${{ steps.secrets.outputs.NEXUS_APP_CAMUNDA_COM_PSW }} | |
| - name: Run E2E tests via Maven | |
| working-directory: data-migrator | |
| run: mvn clean install -Pe2e -Dmaven.test.skip --batch-mode | |
| env: | |
| CI: true | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v6 | |
| if: always() | |
| with: | |
| name: playwright-report | |
| path: data-migrator/qa/e2e-tests/playwright-report/ | |
| retention-days: 7 | |
| - name: Upload screenshots | |
| uses: actions/upload-artifact@v6 | |
| if: always() | |
| with: | |
| name: e2e-screenshots | |
| path: data-migrator/qa/e2e-tests/test-results/ | |
| retention-days: 7 | |
| # Rerun failed jobs running on self-hosted runners in case of network issues or node preemption | |
| rerun-failed-jobs: | |
| needs: | |
| - distro | |
| - code-conversion | |
| - diagram-converter | |
| - it-runtime-postgresql | |
| - it-history-postgresql | |
| - it-runtime-oracle | |
| - it-history-oracle | |
| - it-runtime-h2 | |
| - it-history-h2 | |
| - it-history-h2-windows | |
| - it-identity-postgresql | |
| - it-identity-h2 | |
| - it-identity-oracle | |
| - e2e | |
| if: failure() && fromJSON(github.run_attempt) < 3 | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Retrigger job | |
| uses: camunda/infra-global-github-actions/rerun-failed-run@main | |
| with: | |
| error-messages: | | |
| The runner has received a shutdown signal | |
| Could not transfer artifact | |
| ContainerFetchException: Can't get Docker image: RemoteDockerImage | |
| run-id: ${{ github.run_id }} | |
| repository: ${{ github.repository }} | |
| vault-addr: ${{ secrets.VAULT_ADDR }} | |
| vault-role-id: ${{ secrets.VAULT_ROLE_ID }} | |
| vault-secret-id: ${{ secrets.VAULT_SECRET_ID }} |