ACS-3841 Test a matrix strategy

This commit is contained in:
Damian.Ujma@hyland.com
2022-11-23 09:31:40 +01:00
parent 2bff9eeb00
commit 0f70ac9eba
4 changed files with 426 additions and 363 deletions

View File

@@ -99,8 +99,8 @@ jobs:
mvn -B test -pl core,data-model -am -DfailIfNoTests=false mvn -B test -pl core,data-model -am -DfailIfNoTests=false
mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false mvn -B test -pl "repository,mmt" -am "-Dtest=AllUnitTestsSuite,AllMmtUnitTestSuite" -DfailIfNoTests=false
Repository-AppContext01TestSuite: Repository-AppContextTestSuites:
name: "Repository - AppContext01TestSuite" name: Repository - ${{ matrix.testSuite }}
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: needs:
- prepare - prepare
@@ -108,6 +108,23 @@ jobs:
! contains(github.event.head_commit.message, '[skip repo]') && ! contains(github.event.head_commit.message, '[skip repo]') &&
! contains(github.event.head_commit.message, '[skip tests]') && ! contains(github.event.head_commit.message, '[skip tests]') &&
! contains(github.event.head_commit.message, '[force]') ! contains(github.event.head_commit.message, '[force]')
strategy:
matrix:
include:
- testSuite: AppContext01TestSuite
profile: with-transform-core-aio
- testSuite: AppContext02TestSuite
profile: default
- testSuite: AppContext03TestSuite
profile: with-transform-core-aio
- testSuite: AppContext04TestSuite
profile: with-transform-core-aio
- testSuite: AppContext06TestSuite
profile: with-transform-core-aio
- testSuite: AppContextExtraTestSuite
profile: with-transform-core-aio
- testSuite: MiscContextTestSuite
profile: with-transform-core-aio
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Cache local Maven repository - name: Cache local Maven repository
@@ -128,366 +145,401 @@ jobs:
with: with:
java-version: ${{ env.JAVA_VERSION }} java-version: ${{ env.JAVA_VERSION }}
distribution: "temurin" distribution: "temurin"
- name: "Set Transformers tag" - name: "Set up the environment with the transformers"
if: {{ matrix.profile }} == 'with-transform-core-aio'
run: | run: |
echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
- name: "Set up the environment" - name: "Set up the environment"
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile with-transform-core-aio up -d run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.profile }} up -d
- name: "Run tests" - name: "Run tests"
run: mvn -B test -pl repository -am -Dtest=AppContext01TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco 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
#
Repository-AppContext05TestSuite: #
name: "Repository - AppContext05TestSuite" # Repository-AppContext01TestSuite:
runs-on: ubuntu-latest # name: "Repository - AppContext01TestSuite"
needs: # runs-on: ubuntu-latest
- prepare # needs:
if: > # - prepare
! contains(github.event.head_commit.message, '[skip repo]') && # if: >
! contains(github.event.head_commit.message, '[skip tests]') && # ! contains(github.event.head_commit.message, '[skip repo]') &&
! contains(github.event.head_commit.message, '[force]') # ! contains(github.event.head_commit.message, '[skip tests]') &&
steps: # ! contains(github.event.head_commit.message, '[force]')
- uses: actions/checkout@v3 # steps:
- name: Cache local Maven repository # - uses: actions/checkout@v3
uses: actions/cache@v2 # - name: Cache local Maven repository
with: # uses: actions/cache@v2
path: ~/.m2/repository # with:
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # path: ~/.m2/repository
restore-keys: | # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
${{ runner.os }}-maven- # restore-keys: |
- name: "Login to Quay.io" # ${{ runner.os }}-maven-
uses: docker/login-action@v1 # - name: "Login to Quay.io"
with: # uses: docker/login-action@v1
registry: quay.io # with:
username: ${{ secrets.QUAY_USERNAME }} # registry: quay.io
password: ${{ secrets.QUAY_PASSWORD }} # username: ${{ secrets.QUAY_USERNAME }}
- name: "Set up Java" # password: ${{ secrets.QUAY_PASSWORD }}
uses: actions/setup-java@v3 # - name: "Set up Java"
with: # uses: actions/setup-java@v3
java-version: ${{ env.JAVA_VERSION }} # with:
distribution: "temurin" # java-version: ${{ env.JAVA_VERSION }}
- name: "Set up the environment" # distribution: "temurin"
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d # - name: "Set Transformers tag"
- name: "Set HOST_IP" # run: |
run: | # echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
mkdir -p "${HOME}/tmp" # - name: "Set up the environment"
cp repository/src/test/resources/realms/alfresco-realm.json "${HOME}/tmp" # run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile with-transform-core-aio up -d
echo "HOST_IP=$(hostname -I | cut -f1 -d' ')" >> $GITHUB_ENV # - name: "Run tests"
- name: "Run IDS" # run: mvn -B test -pl repository -am -Dtest=AppContext01TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
run: docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e DB_VENDOR=h2 -p 8999:8080 -e KEYCLOAK_IMPORT=/tmp/alfresco-realm.json -v $HOME/tmp/alfresco-realm.json:/tmp/alfresco-realm.json alfresco/alfresco-identity-service:1.2 #
- name: "Run tests" # Repository-AppContext05TestSuite:
run: mvn -B test -pl repository -am -Dtest=AppContext05TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "-Didentity-service.auth-server-url=http://${{ env.HOST_IP }}:8999/auth" # name: "Repository - AppContext05TestSuite"
# runs-on: ubuntu-latest
Repository-SearchTestSuite: # needs:
name: "Repository - SearchTestSuite" # - prepare
runs-on: ubuntu-latest # if: >
needs: # ! contains(github.event.head_commit.message, '[skip repo]') &&
- prepare # ! contains(github.event.head_commit.message, '[skip tests]') &&
if: > # ! contains(github.event.head_commit.message, '[force]')
! contains(github.event.head_commit.message, '[skip repo]') && # steps:
! contains(github.event.head_commit.message, '[skip tests]') && # - uses: actions/checkout@v3
! contains(github.event.head_commit.message, '[force]') # - name: Cache local Maven repository
steps: # uses: actions/cache@v2
- uses: actions/checkout@v3 # with:
- name: Cache local Maven repository # path: ~/.m2/repository
uses: actions/cache@v2 # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
with: # restore-keys: |
path: ~/.m2/repository # ${{ runner.os }}-maven-
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # - name: "Login to Quay.io"
restore-keys: | # uses: docker/login-action@v1
${{ runner.os }}-maven- # with:
- name: "Login to Quay.io" # registry: quay.io
uses: docker/login-action@v1 # username: ${{ secrets.QUAY_USERNAME }}
with: # password: ${{ secrets.QUAY_PASSWORD }}
registry: quay.io # - name: "Set up Java"
username: ${{ secrets.QUAY_USERNAME }} # uses: actions/setup-java@v3
password: ${{ secrets.QUAY_PASSWORD }} # with:
- name: "Set up Java" # java-version: ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v3 # distribution: "temurin"
with: # - name: "Set up the environment"
java-version: ${{ env.JAVA_VERSION }} # run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d
distribution: "temurin" # - name: "Set HOST_IP"
- name: "Set up the environment" # run: |
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d # mkdir -p "${HOME}/tmp"
- name: "Run tests" # cp repository/src/test/resources/realms/alfresco-realm.json "${HOME}/tmp"
run: mvn -B test -pl repository -am -Dtest=SearchTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dindex.subsystem.name=solr6 # echo "HOST_IP=$(hostname -I | cut -f1 -d' ')" >> $GITHUB_ENV
# - name: "Run IDS"
Repository-MariaDB10-2-18-tests: # run: docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin -e DB_VENDOR=h2 -p 8999:8080 -e KEYCLOAK_IMPORT=/tmp/alfresco-realm.json -v $HOME/tmp/alfresco-realm.json:/tmp/alfresco-realm.json alfresco/alfresco-identity-service:1.2
name: "Repository - MariaDB 10.2.18 tests" # - name: "Run tests"
runs-on: ubuntu-latest # run: mvn -B test -pl repository -am -Dtest=AppContext05TestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco "-Didentity-service.auth-server-url=http://${{ env.HOST_IP }}:8999/auth"
needs: #
- prepare # Repository-SearchTestSuite:
if: > # name: "Repository - SearchTestSuite"
((github.ref_name == 'master' || contains(github.ref_name, '[release]')) && # runs-on: ubuntu-latest
! contains(github.event.head_commit.message, '[skip db]')) || # needs:
contains(github.event.head_commit.message, '[db]') && # - prepare
! contains(github.event.head_commit.message, '[skip tests]') && # if: >
! contains(github.event.head_commit.message, '[force]') # ! contains(github.event.head_commit.message, '[skip repo]') &&
steps: # ! contains(github.event.head_commit.message, '[skip tests]') &&
- uses: actions/checkout@v3 # ! contains(github.event.head_commit.message, '[force]')
- name: Cache local Maven repository # steps:
uses: actions/cache@v2 # - uses: actions/checkout@v3
with: # - name: Cache local Maven repository
path: ~/.m2/repository # uses: actions/cache@v2
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # with:
restore-keys: | # path: ~/.m2/repository
${{ runner.os }}-maven- # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- name: "Login to Quay.io" # restore-keys: |
uses: docker/login-action@v1 # ${{ runner.os }}-maven-
with: # - name: "Login to Quay.io"
registry: quay.io # uses: docker/login-action@v1
username: ${{ secrets.QUAY_USERNAME }} # with:
password: ${{ secrets.QUAY_PASSWORD }} # registry: quay.io
- name: "Set up Java" # username: ${{ secrets.QUAY_USERNAME }}
uses: actions/setup-java@v3 # password: ${{ secrets.QUAY_PASSWORD }}
with: # - name: "Set up Java"
java-version: ${{ env.JAVA_VERSION }} # uses: actions/setup-java@v3
distribution: "temurin" # with:
- name: "Set up the environment" # java-version: ${{ env.JAVA_VERSION }}
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d # distribution: "temurin"
env: # - name: "Set up the environment"
MARIADB_VERSION: 10.2.18 # run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d
- name: "Run tests" # - 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 # run: mvn -B test -pl repository -am -Dtest=SearchTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco -Dindex.subsystem.name=solr6
#
Remote-api-AppContext01TestSuite: # Repository-MariaDB10-2-18-tests:
name: "Remote-api - AppContext01TestSuite" # name: "Repository - MariaDB 10.2.18 tests"
runs-on: ubuntu-latest # runs-on: ubuntu-latest
needs: # needs:
- prepare # - prepare
if: > # if: >
! contains(github.event.head_commit.message, '[skip repo]') && # ((github.ref_name == 'master' || contains(github.ref_name, '[release]')) &&
! contains(github.event.head_commit.message, '[skip tests]') && # ! contains(github.event.head_commit.message, '[skip db]')) ||
! contains(github.event.head_commit.message, '[force]') # contains(github.event.head_commit.message, '[db]') &&
env: # ! contains(github.event.head_commit.message, '[skip tests]') &&
REQUIRES_INSTALLED_ARTIFACTS: true # ! contains(github.event.head_commit.message, '[force]')
steps: # steps:
- uses: actions/checkout@v3 # - uses: actions/checkout@v3
- name: Cache local Maven repository # - name: Cache local Maven repository
uses: actions/cache@v2 # uses: actions/cache@v2
with: # with:
path: ~/.m2/repository # path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: | # restore-keys: |
${{ runner.os }}-maven- # ${{ runner.os }}-maven-
- name: "Login to Quay.io" # - name: "Login to Quay.io"
uses: docker/login-action@v1 # uses: docker/login-action@v1
with: # with:
registry: quay.io # registry: quay.io
username: ${{ secrets.QUAY_USERNAME }} # username: ${{ secrets.QUAY_USERNAME }}
password: ${{ secrets.QUAY_PASSWORD }} # password: ${{ secrets.QUAY_PASSWORD }}
- name: "Set up Java" # - name: "Set up Java"
uses: actions/setup-java@v3 # uses: actions/setup-java@v3
with: # with:
java-version: ${{ env.JAVA_VERSION }} # java-version: ${{ env.JAVA_VERSION }}
distribution: "temurin" # distribution: "temurin"
- name: "Build" # - name: "Set up the environment"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
run: | # env:
bash ./scripts/ci/init.sh # MARIADB_VERSION: 10.2.18
bash ./scripts/ci/build.sh # - name: "Run tests"
- name: "Set up the environment" # 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
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d #
- name: "Run tests" # Remote-api-AppContext01TestSuite:
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 # name: "Remote-api - AppContext01TestSuite"
# runs-on: ubuntu-latest
Remote-api-AppContext02TestSuite: # needs:
name: "Remote-api - AppContext02TestSuite" # - prepare
runs-on: ubuntu-latest # if: >
needs: # ! contains(github.event.head_commit.message, '[skip repo]') &&
- prepare # ! contains(github.event.head_commit.message, '[skip tests]') &&
if: > # ! contains(github.event.head_commit.message, '[force]')
! contains(github.event.head_commit.message, '[skip repo]') && # env:
! contains(github.event.head_commit.message, '[skip tests]') && # REQUIRES_INSTALLED_ARTIFACTS: true
! contains(github.event.head_commit.message, '[force]') # steps:
env: # - uses: actions/checkout@v3
REQUIRES_INSTALLED_ARTIFACTS: true # - name: Cache local Maven repository
steps: # uses: actions/cache@v2
- uses: actions/checkout@v3 # with:
- name: Cache local Maven repository # path: ~/.m2/repository
uses: actions/cache@v2 # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
with: # restore-keys: |
path: ~/.m2/repository # ${{ runner.os }}-maven-
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # - name: "Login to Quay.io"
restore-keys: | # uses: docker/login-action@v1
${{ runner.os }}-maven- # with:
- name: "Login to Quay.io" # registry: quay.io
uses: docker/login-action@v1 # username: ${{ secrets.QUAY_USERNAME }}
with: # password: ${{ secrets.QUAY_PASSWORD }}
registry: quay.io # - name: "Set up Java"
username: ${{ secrets.QUAY_USERNAME }} # uses: actions/setup-java@v3
password: ${{ secrets.QUAY_PASSWORD }} # with:
- name: "Set up Java" # java-version: ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v3 # distribution: "temurin"
with: # - name: "Build"
java-version: ${{ env.JAVA_VERSION }} # timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
distribution: "temurin" # run: |
- name: "Build" # bash ./scripts/ci/init.sh
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # bash ./scripts/ci/build.sh
run: | # - name: "Set up the environment"
echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV # run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml up -d
bash ./scripts/ci/init.sh # - name: "Run tests"
bash ./scripts/ci/build.sh # 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
- name: "Set up the environment" #
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile with-transform-core-aio up -d # Remote-api-AppContext02TestSuite:
- name: "Run tests" # name: "Remote-api - AppContext02TestSuite"
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 # runs-on: ubuntu-latest
# needs:
REST-API-TAS-tests-part1: # - prepare
name: "REST API TAS tests part1" # if: >
runs-on: ubuntu-latest # ! contains(github.event.head_commit.message, '[skip repo]') &&
needs: # ! contains(github.event.head_commit.message, '[skip tests]') &&
- prepare # ! contains(github.event.head_commit.message, '[force]')
if: > # env:
((github.ref_name == 'master' || contains(github.ref_name, '[release]') || github.event_name == 'pull_request' ) && # REQUIRES_INSTALLED_ARTIFACTS: true
! contains(github.event.head_commit.message, '[skip tas]')) || # steps:
contains(github.event.head_commit.message, '[tas]') && # - uses: actions/checkout@v3
! contains(github.event.head_commit.message, '[skip tests]') && # - name: Cache local Maven repository
! contains(github.event.head_commit.message, '[force]') # uses: actions/cache@v2
env: # with:
REQUIRES_LOCAL_IMAGES: true # path: ~/.m2/repository
steps: # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- uses: actions/checkout@v3 # restore-keys: |
- name: Cache local Maven repository # ${{ runner.os }}-maven-
uses: actions/cache@v2 # - name: "Login to Quay.io"
with: # uses: docker/login-action@v1
path: ~/.m2/repository # with:
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # registry: quay.io
restore-keys: | # username: ${{ secrets.QUAY_USERNAME }}
${{ runner.os }}-maven- # password: ${{ secrets.QUAY_PASSWORD }}
- name: "Login to Quay.io" # - name: "Set up Java"
uses: docker/login-action@v1 # uses: actions/setup-java@v3
with: # with:
registry: quay.io # java-version: ${{ env.JAVA_VERSION }}
username: ${{ secrets.QUAY_USERNAME }} # distribution: "temurin"
password: ${{ secrets.QUAY_PASSWORD }} # - name: "Build"
- name: "Set up Java" # timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
uses: actions/setup-java@v3 # run: |
with: # echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
java-version: ${{ env.JAVA_VERSION }} # bash ./scripts/ci/init.sh
distribution: "temurin" # bash ./scripts/ci/build.sh
- name: "Build" # - name: "Set up the environment"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile with-transform-core-aio up -d
run: | # - name: "Run tests"
bash ./scripts/ci/init.sh # 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
bash ./scripts/ci/build.sh #
- name: "Set up the environment" # REST-API-TAS-tests-part1:
run: | # name: "REST API TAS tests part1"
${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml # runs-on: ubuntu-latest
${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco" # needs:
- name: "Run tests" # - prepare
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # if: >
run: mvn -B verify -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false # ((github.ref_name == 'master' || contains(github.ref_name, '[release]') || github.event_name == 'pull_request' ) &&
# ! contains(github.event.head_commit.message, '[skip tas]')) ||
AGS-Unit-And_Integration-Tests-01-PostgreSQL: # contains(github.event.head_commit.message, '[tas]') &&
name: "AGS Unit & Integration Tests 01 (PostgreSQL)" # ! contains(github.event.head_commit.message, '[skip tests]') &&
runs-on: ubuntu-latest # ! contains(github.event.head_commit.message, '[force]')
needs: # env:
- prepare # REQUIRES_LOCAL_IMAGES: true
if: > # steps:
((github.ref_name == 'master' || contains(github.ref_name, '[release]') || github.event_name == 'pull_request' ) && # - uses: actions/checkout@v3
! contains(github.event.head_commit.message, '[skip ags]')) || # - name: Cache local Maven repository
contains(github.event.head_commit.message, '[ags]') && # uses: actions/cache@v2
! contains(github.event.head_commit.message, '[skip tests]') && # with:
! contains(github.event.head_commit.message, '[force]') # path: ~/.m2/repository
env: # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
REQUIRES_INSTALLED_ARTIFACTS: true # restore-keys: |
steps: # ${{ runner.os }}-maven-
- uses: actions/checkout@v3 # - name: "Login to Quay.io"
- name: Cache local Maven repository # uses: docker/login-action@v1
uses: actions/cache@v2 # with:
with: # registry: quay.io
path: ~/.m2/repository # username: ${{ secrets.QUAY_USERNAME }}
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # password: ${{ secrets.QUAY_PASSWORD }}
restore-keys: | # - name: "Set up Java"
${{ runner.os }}-maven- # uses: actions/setup-java@v3
- name: "Login to Quay.io" # with:
uses: docker/login-action@v1 # java-version: ${{ env.JAVA_VERSION }}
with: # distribution: "temurin"
registry: quay.io # - name: "Build"
username: ${{ secrets.QUAY_USERNAME }} # timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
password: ${{ secrets.QUAY_PASSWORD }} # run: |
- name: "Set up Java" # bash ./scripts/ci/init.sh
uses: actions/setup-java@v3 # bash ./scripts/ci/build.sh
with: # - name: "Set up the environment"
java-version: ${{ env.JAVA_VERSION }} # run: |
distribution: "temurin" # ${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml
- name: "Build" # ${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # - name: "Run tests"
run: | # timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
bash ./scripts/ci/init.sh # run: mvn -B verify -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
bash ./scripts/ci/build.sh #
- name: "Verify" # AGS-Unit-And_Integration-Tests-01-PostgreSQL:
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # name: "AGS Unit & Integration Tests 01 (PostgreSQL)"
run: mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt1 ${{ env.LOG_WARN }} # runs-on: ubuntu-latest
# needs:
AGS-Community-Rest-API-Tests: # - prepare
name: "AGS Community Rest API Tests"
runs-on: ubuntu-latest
needs:
- prepare
# if: > # if: >
# ((github.ref_name == 'master' || contains(github.ref_name, '[release]') || github.event_name == 'pull_request' ) && # ((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, '[skip ags]')) ||
# contains(github.event.head_commit.message, '[ags]') && # contains(github.event.head_commit.message, '[ags]') &&
# ! contains(github.event.head_commit.message, '[skip tests]') && # ! contains(github.event.head_commit.message, '[skip tests]') &&
# ! contains(github.event.head_commit.message, '[force]') # ! contains(github.event.head_commit.message, '[force]')
if: > # env:
! contains(github.event.head_commit.message, '[skip repo]') && # REQUIRES_INSTALLED_ARTIFACTS: true
! contains(github.event.head_commit.message, '[skip tests]') && # steps:
! contains(github.event.head_commit.message, '[force]') # - uses: actions/checkout@v3
steps: # - name: Cache local Maven repository
- uses: actions/checkout@v3 # uses: actions/cache@v2
- name: Cache local Maven repository # with:
uses: actions/cache@v2 # path: ~/.m2/repository
with: # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
path: ~/.m2/repository # restore-keys: |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} # ${{ runner.os }}-maven-
restore-keys: | # - name: "Login to Quay.io"
${{ runner.os }}-maven- # uses: docker/login-action@v1
- name: "Login to Docker Hub" # with:
uses: docker/login-action@v1 # registry: quay.io
with: # username: ${{ secrets.QUAY_USERNAME }}
username: ${{ secrets.DOCKER_USERNAME }} # password: ${{ secrets.QUAY_PASSWORD }}
password: ${{ secrets.DOCKER_PASSWORD }} # - name: "Set up Java"
- name: "Login to Quay.io" # uses: actions/setup-java@v3
uses: docker/login-action@v1 # with:
with: # java-version: ${{ env.JAVA_VERSION }}
registry: quay.io # distribution: "temurin"
username: ${{ secrets.QUAY_USERNAME }} # - name: "Build"
password: ${{ secrets.QUAY_PASSWORD }} # timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
- name: "Set up Java" # run: |
uses: actions/setup-java@v3 # bash ./scripts/ci/init.sh
with: # bash ./scripts/ci/build.sh
java-version: ${{ env.JAVA_VERSION }} # - name: "Verify"
distribution: "temurin" # timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
- name: "build" # run: mvn --file amps/ags/pom.xml -B verify -Dmaven.javadoc.skip=true -Dmaven.source.skip=true -Pags -Pstart-postgres -PagsAllTestSuitePt1 ${{ env.LOG_WARN }}
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} #
run: bash ./scripts/ci/build.sh # AGS-Community-Rest-API-Tests:
env: # name: "AGS Community Rest API Tests"
REQUIRES_LOCAL_IMAGES: true # runs-on: ubuntu-latest
- name: "Set up the environment" # needs:
run: | # - prepare
${{ env.TAS_SCRIPTS }}/start-compose.sh ./amps/ags/rm-community/rm-community-repo/docker-compose.yml # if: >
${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8080/alfresco" # ((github.ref_name == 'master' || contains(github.ref_name, '[release]') || github.event_name == 'pull_request' ) &&
- name: "test" # ! contains(github.event.head_commit.message, '[skip ags]')) ||
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }} # contains(github.event.head_commit.message, '[ags]') &&
run: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -am -DfailIfNoTests=false -Dskip.automationtests=false -Pags # ! contains(github.event.head_commit.message, '[skip tests]') &&
- run: bash amps/ags/ci/scripts/getLogs.sh # ! contains(github.event.head_commit.message, '[force]')
if: ${{ always() }} # steps:
- shell: bash # - uses: actions/checkout@v3
if: ${{ always() }} # - name: Cache local Maven repository
run: | # uses: actions/cache@v2
mkdir -p deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests # with:
mv "alfresco.log" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" # path: ~/.m2/repository
mv "solr.log" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" # key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
mv "./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports" "deploy_dir/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests" # restore-keys: |
- name: "Configure AWS credentials" # ${{ runner.os }}-maven-
if: ${{ always() }} # - name: "Login to Docker Hub"
uses: aws-actions/configure-aws-credentials@v1 # uses: docker/login-action@v1
with: # with:
aws-access-key-id: ${{ secrets.AGS_AWS_ACCESS_KEY_ID }} # username: ${{ secrets.DOCKER_USERNAME }}
aws-secret-access-key: ${{ secrets.AGS_AWS_SECRET_ACCESS_KEY }} # password: ${{ secrets.DOCKER_PASSWORD }}
aws-region: us-east-1 # - name: "Login to Quay.io"
- name: "Upload artifacts to Amazon S3 bucket" # uses: docker/login-action@v1
if: ${{ always() }} # with:
run: aws s3 cp --recursive ./deploy_dir s3://ags-travis-artifacts # 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

View File

@@ -24,8 +24,13 @@ jobs:
! contains(github.event.head_commit.message, '[no release]') ! contains(github.event.head_commit.message, '[no release]')
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- run: mkdir -p $HOME/.m2 - name: Cache local Maven repository
- run: cp .travis.settings.xml $HOME/.m2 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" - name: "Login to Quay.io"
uses: docker/login-action@v1 uses: docker/login-action@v1
with: with:
@@ -37,7 +42,6 @@ jobs:
with: with:
java-version: ${{ env.JAVA_VERSION }} java-version: ${{ env.JAVA_VERSION }}
distribution: "temurin" distribution: "temurin"
cache: "maven"
- uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v1.12.0 - uses: Alfresco/alfresco-build-tools/.github/actions/configure-git-author@v1.12.0
with: with:
username: ${{ secrets.BOT_GITHUB_USERNAME }} username: ${{ secrets.BOT_GITHUB_USERNAME }}
@@ -45,7 +49,7 @@ jobs:
- name: "Verify release tag" - name: "Verify release tag"
run: bash ./scripts/travis/verify_release_tag.sh run: bash ./scripts/travis/verify_release_tag.sh
- name: "Release" - name: "Release"
run: bash ./scripts/gh-actions/maven_release.sh run: bash ./scripts/ci/maven_release.sh
env: env:
BUILD_NUMBER: ${{ github.run_number }} BUILD_NUMBER: ${{ github.run_number }}
GIT_USERNAME: ${{ secrets.BOT_GITHUB_USERNAME }} GIT_USERNAME: ${{ secrets.BOT_GITHUB_USERNAME }}
@@ -62,9 +66,14 @@ jobs:
! contains(github.event.head_commit.message, '[no downstream]') ! contains(github.event.head_commit.message, '[no downstream]')
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- run: mkdir -p $HOME/.m2 - name: Cache local Maven repository
- run: cp .travis.settings.xml $HOME/.m2 uses: actions/cache@v2
- run: bash ./scripts/gh-actions/update_downstream.sh with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- run: bash ./scripts/ci/update_downstream.sh
env: env:
BRANCH: ${{ github.ref_name }} BRANCH: ${{ github.ref_name }}
COMMIT_MESSAGE: ${{ github.event.head_commit.message }} COMMIT_MESSAGE: ${{ github.event.head_commit.message }}

View File

@@ -5,7 +5,7 @@ function cloneRepo() {
local REPO="${1}" local REPO="${1}"
local TAG_OR_BRANCH="${2}" local TAG_OR_BRANCH="${2}"
printf "Clonning \"%s\" on %s\n" "${TAG_OR_BRANCH}" "${REPO}" printf "Cloning \"%s\" on %s\n" "${TAG_OR_BRANCH}" "${REPO}"
# clone the repository branch/tag # clone the repository branch/tag
pushd "$(dirname "${BASH_SOURCE[0]}")/../../../" >/dev/null pushd "$(dirname "${BASH_SOURCE[0]}")/../../../" >/dev/null

View File

@@ -10,6 +10,7 @@ services:
- "8090:8090" - "8090:8090"
postgres: postgres:
image: postgres:14.4 image: postgres:14.4
profiles: ["default", "with-transform-core-aio"]
environment: environment:
- POSTGRES_PASSWORD=alfresco - POSTGRES_PASSWORD=alfresco
- POSTGRES_USER=alfresco - POSTGRES_USER=alfresco
@@ -18,6 +19,7 @@ services:
ports: ports:
- "5433:5432" - "5433:5432"
activemq: activemq:
profiles: ["default", "with-transform-core-aio"]
image: alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8 image: alfresco/alfresco-activemq:5.17.1-jre11-rockylinux8
ports: ports:
- "5672:5672" # AMQP - "5672:5672" # AMQP