Skip to content

fix(deps): update spring boot to v4 (main) (major) #3848

fix(deps): update spring boot to v4 (main) (major)

fix(deps): update spring boot to v4 (main) (major) #3848

Workflow file for this run

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 }}