[MNT-25404] Query Performance - High performance cost in retrieving nodes/node properties for large result sets #8783
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: Alfresco Community Repo CI | |
| on: | |
| pull_request: | |
| branches: | |
| - feature/** | |
| - fix/** | |
| - master | |
| - release/** | |
| push: | |
| branches: | |
| - feature/** | |
| - fix/** | |
| workflow_call: | |
| workflow_dispatch: | |
| env: | |
| DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | |
| DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }} | |
| GITHUB_ACTIONS_DEPLOY_TIMEOUT: 60 | |
| LOG_WARN: "-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn" | |
| MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }} | |
| MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }} | |
| QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }} | |
| QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }} | |
| TAS_ENVIRONMENT: ./packaging/tests/environment | |
| TAS_SCRIPTS: ../alfresco-community-repo/packaging/tests/scripts | |
| jobs: | |
| prepare: | |
| name: "Prepare" | |
| runs-on: ubuntu-latest | |
| if: > | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - id: changed-files | |
| uses: Alfresco/alfresco-build-tools/.github/actions/github-list-changes@v8.13.0 | |
| with: | |
| write-list-to-env: true | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/pre-commit@v8.13.0 | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Prepare maven cache and check compilation" | |
| run: bash ./scripts/ci/prepare.sh | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| veracode: | |
| name: "Source Clear Scan (SCA)" | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| ((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request') && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v8.13.0 | |
| continue-on-error: true | |
| with: | |
| srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }} | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| all_unit_tests_suite: | |
| name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test" | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| !contains(github.event.head_commit.message, '[skip repo]') && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run tests" | |
| run: | | |
| mvn -B test -pl core,data-model -am -DfailIfNoTests=false | |
| mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| remote_api_app_context_test_suites: | |
| name: Remote-api - ${{ matrix.testSuite }} | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| !contains(github.event.head_commit.message, '[skip repo]') && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - testSuite: AppContext01TestSuite | |
| compose-profile: default | |
| - testSuite: AppContext02TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContext03TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContext04TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContextExtraTestSuite | |
| compose-profile: default | |
| env: | |
| REQUIRES_INSTALLED_ARTIFACTS: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Build" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: | | |
| bash ./scripts/ci/init.sh | |
| bash ./scripts/ci/build.sh | |
| - name: "Set transformers tag" | |
| run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV | |
| - name: "Set up the environment" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | |
| - name: "Run tests" | |
| run: mvn -B test -pl remote-api -Dtest=${{ matrix.testSuite }} -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_mariadb_tests: | |
| name: Repository - MariaDB ${{ matrix.version }} tests | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && | |
| github.event_name != 'pull_request' && | |
| !contains(github.event.head_commit.message, '[skip db]')) || | |
| contains(github.event.head_commit.message, '[db]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ['10.2.18', '10.4', '10.5'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: Run MariaDB ${{ matrix.version }} database | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | |
| env: | |
| MARIADB_VERSION: ${{ matrix.version }} | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_mariadb_10_6_tests: | |
| name: "Repository - MariaDB 10.6 tests" | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') && | |
| !contains(github.event.head_commit.message, '[skip db]')) || | |
| contains(github.event.head_commit.message, '[latest db]') || | |
| contains(github.event.head_commit.message, '[db]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run MariaDB 10.6 database" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d | |
| env: | |
| MARIADB_VERSION: 10.6 | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_mysql_5_7_28_tests: | |
| name: Repository - MySQL 5.7.28 tests | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && | |
| github.event_name != 'pull_request' && | |
| !contains(github.event.head_commit.message, '[skip db]')) || | |
| contains(github.event.head_commit.message, '[db]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run MySQL 5.7.28 database" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d | |
| env: | |
| MYSQL_VERSION: 5.7.28 | |
| MYSQL_PARAMS: --transaction-isolation='READ-COMMITTED' --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_mysql_tests: | |
| name: Repository - MySQL 8 tests | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') && | |
| !contains(github.event.head_commit.message, '[skip db]')) || | |
| contains(github.event.head_commit.message, '[latest db]') || | |
| contains(github.event.head_commit.message, '[db]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run MySQL 8 database" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d | |
| env: | |
| MYSQL_VERSION: 8 | |
| MYSQL_PARAMS: --transaction-isolation='READ-COMMITTED' | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_postgresql_tests: | |
| name: Repository - PostgreSQL ${{ matrix.version }} tests | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && | |
| github.event_name != 'pull_request' && | |
| !contains(github.event.head_commit.message, '[skip db]')) || | |
| contains(github.event.head_commit.message, '[db]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ['10.9', '11.12', '11.7', '12.4', '12.7', '13.1'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: Run PostgreSQL ${{ matrix.version }} database | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | |
| env: | |
| POSTGRES_VERSION: ${{ matrix.version }} | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_postgresql_13_3_tests: | |
| name: "Repository - PostgreSQL 13.3 tests" | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (!contains(github.event.head_commit.message, '[skip db]') || | |
| contains(github.event.head_commit.message, '[latest db]') || | |
| contains(github.event.head_commit.message, '[db]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run PostgreSQL 13.3 database" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d | |
| env: | |
| POSTGRES_VERSION: 13.3 | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_messaging_tests: | |
| name: Repository - Messaging tests | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| !contains(github.event.head_commit.message, '[skip repo]') && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run ActiveMQ" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| repository_app_context_test_suites: | |
| name: Repository - ${{ matrix.testSuite }} | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| !contains(github.event.head_commit.message, '[skip repo]') && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - testSuite: AppContext01TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContext02TestSuite | |
| compose-profile: default | |
| - testSuite: AppContext03TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContext04TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContext05TestSuite | |
| compose-profile: with-sso | |
| mvn-options: '"-Didentity-service.auth-server-url=http://localhost:8999/auth"' | |
| - testSuite: AppContext06TestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: AppContextExtraTestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: MiscContextTestSuite | |
| compose-profile: with-transform-core-aio | |
| - testSuite: SearchTestSuite | |
| compose-profile: default | |
| mvn-options: '-Dindex.subsystem.name=solr6' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Set transformers tag" | |
| run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV | |
| - name: "Set up the environment" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d | |
| - name: "Run tests" | |
| run: mvn -B test -pl repository -am -Dtest=${{ matrix.testSuite }} -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco ${{ matrix.mvn-options }} | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| tas_tests: | |
| name: ${{ matrix.test-name }} | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) && | |
| !contains(github.event.head_commit.message, '[skip tas]')) || | |
| contains(github.event.head_commit.message, '[tas]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - test-name: "REST API TAS tests part1" | |
| pom-dir: tas-restapi | |
| test-profile: run-restapi-part1 | |
| - test-name: "REST API TAS tests part2" | |
| pom-dir: tas-restapi | |
| test-profile: run-restapi-part2 | |
| - test-name: "REST API TAS tests part3" | |
| pom-dir: tas-restapi | |
| test-profile: run-restapi-part3 | |
| - test-name: "CMIS TAS tests - BROWSER binding" | |
| pom-dir: tas-cmis | |
| test-profile: run-cmis-browser | |
| - test-name: "CMIS TAS tests - ATOM binding" | |
| pom-dir: tas-cmis | |
| test-profile: run-cmis-atom | |
| - test-name: "CMIS TAS tests - WEBSERVICES binding" | |
| pom-dir: tas-cmis | |
| test-profile: run-cmis-webservices | |
| - test-name: "Email TAS tests" | |
| pom-dir: tas-email | |
| - test-name: "WebDAV TAS tests" | |
| pom-dir: tas-webdav | |
| - test-name: "Integration TAS tests" | |
| pom-dir: tas-integration | |
| env: | |
| REQUIRES_LOCAL_IMAGES: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Build" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: | | |
| bash ./scripts/ci/init.sh | |
| bash ./scripts/ci/build.sh | |
| - name: "Set up the environment" | |
| run: | | |
| ${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml | |
| ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" | |
| - name: "Build TAS integration tests" | |
| if: ${{ matrix.test-name }} == 'Integration TAS tests' | |
| run: mvn install -pl :alfresco-community-repo-integration-test -am -DskipTests -Pall-tas-tests | |
| - name: "Run tests" | |
| id: tests | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: mvn -B verify -f packaging/tests/${{ matrix.pom-dir }}/pom.xml -Pall-tas-tests,${{ matrix.test-profile }} -Denvironment=default -DrunBugs=false | |
| - name: "Print output after success" | |
| if: ${{ always() && steps.tests.outcome == 'success' }} | |
| run: ${TAS_SCRIPTS}/output_tests_run.sh "packaging/tests/${{ matrix.pom-dir }}" | |
| - name: "Print output after failure" | |
| if: ${{ always() && steps.tests.outcome == 'failure' }} | |
| run: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/${{ matrix.pom-dir }}" | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| share_services_test_suite: | |
| name: Share Services - ShareServicesTestSuite | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| !contains(github.event.head_commit.message, '[skip repo]') && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Init" | |
| run: bash ./scripts/ci/init.sh | |
| - name: "Run Postgres 14.4 database" | |
| run: docker compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile postgres up -d | |
| - name: "Run tests" | |
| run: mvn -B test -pl :alfresco-share-services -am -Dtest=ShareServicesTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| ags_postgresql_tests: | |
| name: AGS Integration Tests 0${{ matrix.part }} (PostgreSQL) ${{ matrix.test-name }} | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) && | |
| !contains(github.event.head_commit.message, '[skip ags]')) || | |
| contains(github.event.head_commit.message, '[ags]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| part: [1, 2, 3] | |
| env: | |
| REQUIRES_INSTALLED_ARTIFACTS: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Build" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: | | |
| bash ./scripts/ci/init.sh | |
| bash ./scripts/ci/build.sh | |
| - name: "Verify" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt${{ matrix.part }} ${{ env.LOG_WARN }} | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| ags_mysql_tests: | |
| name: AGS Integration Tests 0${{ matrix.part }} (MySQL) ${{ matrix.test-name }} | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) && | |
| !contains(github.event.head_commit.message, '[skip ags]')) || | |
| contains(github.event.head_commit.message, '[ags on MySQL]')) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| part: [1, 2, 3] | |
| env: | |
| REQUIRES_INSTALLED_ARTIFACTS: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Build" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: | | |
| bash ./scripts/ci/init.sh | |
| bash ./scripts/ci/build.sh | |
| - name: "Verify" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-mysql -PagsAllTestSuitePt${{ matrix.part }} ${{ env.LOG_WARN }} | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh | |
| ags_community_rest_api_tests: | |
| name: "AGS Community Rest API Tests" | |
| runs-on: ubuntu-latest | |
| needs: [prepare] | |
| if: > | |
| (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) && | |
| !contains(github.event.head_commit.message, '[skip ags]') && !contains(github.event.head_commit.message, '[skip tas]')) || | |
| (contains(github.event.head_commit.message, '[ags]') && contains(github.event.head_commit.message, '[tas]'))) && | |
| !contains(github.event.head_commit.message, '[skip tests]') && | |
| !contains(github.event.head_commit.message, '[force]') | |
| env: | |
| REQUIRES_LOCAL_IMAGES: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v8.13.0 | |
| - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v8.13.0 | |
| with: | |
| java-version: "11" | |
| - name: "Build" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: | | |
| bash ./scripts/ci/init.sh | |
| bash ./scripts/ci/build.sh | |
| - name: "Set up the environment" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: | | |
| ${{ env.TAS_SCRIPTS }}/start-compose.sh ./amps/ags/rm-community/rm-community-repo/docker-compose.yml | |
| ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8080/alfresco" | |
| mvn -B install -pl :alfresco-governance-services-automation-community-rest-api -am -Pags -Pall-tas-tests -DskipTests | |
| - name: "Test" | |
| timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} | |
| run: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false -Pags -Pall-tas-tests | |
| - name: "Configure AWS credentials" | |
| if: ${{ always() }} | |
| uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| aws-access-key-id: ${{ secrets.AGS_AWS_ACCESS_KEY_ID }} | |
| aws-secret-access-key: ${{ secrets.AGS_AWS_SECRET_ACCESS_KEY }} | |
| aws-region: us-east-1 | |
| - name: "Upload artifacts to Amazon S3 bucket" | |
| if: ${{ always() }} | |
| run: | | |
| bash amps/ags/ci/scripts/getLogs.sh | |
| aws s3 cp --acl private alfresco.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/alfresco.log | |
| aws s3 cp --acl private solr.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/solr.log | |
| aws s3 cp --acl private ./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports/rm-automation-community-rest-api.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/rm-automation-community-rest-api.log | |
| - name: "Clean Maven cache" | |
| run: bash ./scripts/ci/cleanup_cache.sh |