From e51457d535de3b0971d7f4c06605c8fa9198dcd8 Mon Sep 17 00:00:00 2001 From: "Damian.Ujma@hyland.com" Date: Wed, 23 Nov 2022 16:27:18 +0100 Subject: [PATCH] ACS-3841 Test [db][tas][db][ags][ags on MySQL] --- .github/workflows/ci.yml | 694 ++++++++++-------- scripts/ci/docker-compose/docker-compose.yaml | 4 +- 2 files changed, 383 insertions(+), 315 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 35475fc434..ee670c0713 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,42 +65,42 @@ jobs: with: srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }} -# AllUnitTestsSuite: -# 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@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - 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 + AllUnitTestsSuite: + 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@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - 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 Remote-api-AppContextTestSuites: - name: Repository - ${{ matrix.testSuite }} + name: Remote-api - ${{ matrix.testSuite }} runs-on: ubuntu-latest needs: - prepare @@ -155,7 +155,7 @@ jobs: needs: - prepare if: > - ((github.ref_name == 'master' || contains(github.ref_name, '[release]')) && + ((github.ref_name == 'master' || contains(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]') && @@ -191,6 +191,45 @@ jobs: - 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 + Repository-MariaDB10-6-tests: + name: "Repository - MariaDB 10.6 tests" + runs-on: ubuntu-latest + needs: + - prepare + if: > + ((github.ref_name == 'master' || contains(github.ref_name, '[release]')) && + ! 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@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - name: "Set up the environment" + 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 + Repository-MySQL-tests: name: Repository - MySQL 8 tests runs-on: ubuntu-latest @@ -199,6 +238,7 @@ jobs: if: > ((github.ref_name == 'master' || contains(github.ref_name, '[release]')) && ! 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]') @@ -229,6 +269,117 @@ jobs: - 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 + Repository-PostgreSQL13-7-tests: + name: "Repository - PostgreSQL 13.7 tests" + runs-on: ubuntu-latest + needs: + - prepare + if: > + ((github.ref_name == 'master' || contains(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@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - name: "Set up the environment" + run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d + env: + POSTGRES_VERSION: 10.6 + - 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 + + Repository-PostgreSQL14-4-tests: + name: "Repository - PostgreSQL 14.4 tests" + runs-on: ubuntu-latest + needs: + - prepare + if: > + ((github.ref_name == 'master' || contains(github.ref_name, '[release]')) && + ! 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@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - name: "Set up the environment" + run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d + env: + POSTGRES_VERSION: 14.4 + - 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 + + 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@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - name: "Set up the environment" + 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 + Repository-AppContextTestSuites: name: Repository - ${{ matrix.testSuite }} runs-on: ubuntu-latest @@ -368,7 +519,7 @@ jobs: 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: "Run integration test" + - name: "Set up the environment for integration tests" run: | if [ ${{ matrix.test-name }} == 'Integration TAS tests' ]; then @@ -377,280 +528,197 @@ jobs: - name: "Run tests" timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} run: mvn -B verify -f packaging/tests/${{ matrix.test-dir }}/pom.xml -Pall-tas-tests,${{ matrix.test-profile }} -Denvironment=default -DrunBugs=false -# Repository-PostgreSQL-tests: -# name: Repository - PostgreSQL ${{ matrix.version }} 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]') -# strategy: -# fail-fast: false -# matrix: -# version: ['13.7', '14.4'] -# steps: -# - uses: actions/checkout@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - name: "Set up the environment" -# 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 -# Remote-api-AppContext01TestSuite: -# name: "Remote-api - AppContext01TestSuite" -# 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]') -# env: -# REQUIRES_INSTALLED_ARTIFACTS: true -# steps: -# - uses: actions/checkout@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - 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: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d -# - name: "Run tests" -# run: mvn -B test -pl remote-api -Dtest=AppContext01TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -# -# Remote-api-AppContext02TestSuite: -# name: "Remote-api - AppContext02TestSuite" -# 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]') -# env: -# REQUIRES_INSTALLED_ARTIFACTS: true -# steps: -# - uses: actions/checkout@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - name: "Build" -# timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} -# run: | -# echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV -# bash ./scripts/ci/init.sh -# bash ./scripts/ci/build.sh -# - name: "Set up the environment" -# run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile with-transform-core-aio up -d -# - name: "Run tests" -# run: mvn -B test -pl remote-api -Dtest=AppContext02TestSuite -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -# -# REST-API-TAS-tests-part1: -# name: "REST API TAS tests part1" -# runs-on: ubuntu-latest -# needs: -# - prepare -# if: > -# ((github.ref_name == 'master' || contains(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]') -# env: -# REQUIRES_LOCAL_IMAGES: true -# steps: -# - uses: actions/checkout@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - 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: "Run tests" -# timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} -# run: mvn -B verify -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false -# -# AGS-Unit-And_Integration-Tests-01-PostgreSQL: -# name: "AGS Unit & Integration Tests 01 (PostgreSQL)" -# runs-on: ubuntu-latest -# needs: -# - prepare -# if: > -# ((github.ref_name == 'master' || contains(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]') -# env: -# REQUIRES_INSTALLED_ARTIFACTS: true -# steps: -# - uses: actions/checkout@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - 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 -PagsAllTestSuitePt1 ${{ env.LOG_WARN }} -# -# AGS-Community-Rest-API-Tests: -# name: "AGS Community Rest API Tests" -# runs-on: ubuntu-latest -# needs: -# - prepare -# if: > -# ((github.ref_name == 'master' || contains(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]') -# steps: -# - uses: actions/checkout@v3 -# - name: Cache local Maven repository -# uses: actions/cache@v2 -# with: -# path: ~/.m2/repository -# key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} -# restore-keys: | -# ${{ runner.os }}-maven- -# - name: "Login to Docker Hub" -# uses: docker/login-action@v1 -# with: -# username: ${{ secrets.DOCKER_USERNAME }} -# password: ${{ secrets.DOCKER_PASSWORD }} -# - name: "Login to Quay.io" -# uses: docker/login-action@v1 -# with: -# registry: quay.io -# username: ${{ secrets.QUAY_USERNAME }} -# password: ${{ secrets.QUAY_PASSWORD }} -# - name: "Set up Java" -# uses: actions/setup-java@v3 -# with: -# java-version: ${{ env.JAVA_VERSION }} -# distribution: "temurin" -# - name: "Build" -# timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} -# run: bash ./scripts/ci/build.sh -# env: -# REQUIRES_LOCAL_IMAGES: true -# - name: "Set up the environment" -# 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" -# - name: "Test" -# timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} -# run: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -am -DfailIfNoTests=false -Dskip.automationtests=false -Pags -# - run: bash amps/ags/ci/scripts/getLogs.sh -# if: ${{ always() }} -# - shell: bash -# if: ${{ always() }} -# run: | -# mkdir -p deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests -# mv "alfresco.log" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" -# mv "solr.log" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" -# mv "./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" -# - name: "Configure AWS credentials" -# if: ${{ always() }} -# uses: aws-actions/configure-aws-credentials@v1 -# 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: aws s3 cp --recursive ./deploy_dir s3://ags-travis-artifacts \ No newline at end of file + + Share-Services-ShareServicesTestSuite: + 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@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - name: "Set up the environment" + 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 + + AGS-Tests-PostgresSQL: + name: AGS Unit & Integration Tests 0${{ matrix.part }} (PostgreSQL) ${{ matrix.test-name }} + runs-on: ubuntu-latest + needs: + - prepare + if: > + ((github.ref_name == 'master' || contains(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, 4] + env: + REQUIRES_INSTALLED_ARTIFACTS: true + steps: + - uses: actions/checkout@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - 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 }} + + AGS-Tests-MySQL: + name: AGS Unit & Integration Tests 0${{ matrix.part }} (PostgreSQL) ${{ matrix.test-name }} + runs-on: ubuntu-latest + needs: + - prepare + if: > + ((github.ref_name == 'master' || contains(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, 4] + env: + REQUIRES_INSTALLED_ARTIFACTS: true + steps: + - uses: actions/checkout@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - 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 }} + + AGS-Community-Rest-API-Tests: + name: "AGS Community Rest API Tests" + runs-on: ubuntu-latest + needs: + - prepare + if: > + ((github.ref_name == 'master' || contains(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]') + steps: + - uses: actions/checkout@v3 + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: "Login to Docker Hub" + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: "Login to Quay.io" + uses: docker/login-action@v1 + with: + registry: quay.io + username: ${{ secrets.QUAY_USERNAME }} + password: ${{ secrets.QUAY_PASSWORD }} + - name: "Set up Java" + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: "temurin" + - name: "Build" + timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} + run: bash ./scripts/ci/build.sh + env: + REQUIRES_LOCAL_IMAGES: true + - name: "Set up the environment" + 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" + - name: "Test" + timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} + run: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -am -DfailIfNoTests=false -Dskip.automationtests=false -Pags + - run: bash amps/ags/ci/scripts/getLogs.sh + if: ${{ always() }} + - shell: bash + if: ${{ always() }} + run: | + mkdir -p deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests + mv "alfresco.log" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" + mv "solr.log" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" + mv "./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" + - name: "Configure AWS credentials" + if: ${{ always() }} + uses: aws-actions/configure-aws-credentials@v1 + 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: aws s3 cp --recursive ./deploy_dir s3://ags-travis-artifacts \ No newline at end of file diff --git a/scripts/ci/docker-compose/docker-compose.yaml b/scripts/ci/docker-compose/docker-compose.yaml index e8f3309efc..c14fc91734 100644 --- a/scripts/ci/docker-compose/docker-compose.yaml +++ b/scripts/ci/docker-compose/docker-compose.yaml @@ -10,7 +10,7 @@ services: - "8090:8090" postgres: image: postgres:14.4 - profiles: ["default", "with-transform-core-aio"] + profiles: ["default", "with-transform-core-aio", "postgres"] environment: - POSTGRES_PASSWORD=alfresco - POSTGRES_USER=alfresco @@ -19,7 +19,7 @@ services: ports: - "5433:5432" activemq: - profiles: ["default", "with-transform-core-aio"] + profiles: ["default", "with-transform-core-aio", "activemq"] image: alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8 ports: - "5672:5672" # AMQP