Merge remote-tracking branch 'remotes/origin/release/V2.7' into merge-3.0/APPS-238_APPS-104_no

# Conflicts:
#	.travis.yml
#	README.md
#	rm-automation/rm-automation-ui/src/main/java/org/alfresco/po/common/util/Utils.java
#	rm-automation/rm-automation-ui/src/main/java/org/alfresco/po/rm/dialog/ConfirmationDialog.java
#	rm-automation/rm-automation-ui/src/main/java/org/alfresco/po/rm/dialog/security/UsersMarksDialog.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/AddRelationship.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/AddRelationshipTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/AutoDeclareVersionsAsRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/AutoDeclareVersionsAsRecordsTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/CreateElectronicRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/CreateElectronicRecordsTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/CreateNonElectronicRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/CreateNonElectronicRecordsTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/DeclareInPlaceRecord.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/DeclareInPlaceRecordTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/DeclareVersionAsRecord.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/DeclareVersionAsRecordTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/FileUnfiledRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/FileUnfiledRecordsTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/InplaceRecordSearch.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/InplaceRecordSearchTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/RejectRecord.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/RejectRecordTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/SearchRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/SearchRecordsTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/AddRelationship.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/AutoDeclareVersionsAsRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/CreateElectronicRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/CreateNonElectronicRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/DeclareInPlaceRecord.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/DeclareVersionAsRecord.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/FileUnfiledRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/InplaceRecordSearch.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/RejectRecord.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/community/smoke/records/SearchRecords.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/enterprise/level2/classification/SecurityClearanceTest.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/enterprise/level2/filePlan/RMSiteCreationAndDeletionTests.java
#	rm-automation/rm-automation-ui/src/test/java/org/alfresco/test/enterprise/security/classification/content/SearchClassifiedDocumentsTests.java
#	rm-automation/rm-automation-ui/src/test/resources/cg_l1.xml
#	rm-automation/rm-automation-ui/src/test/resources/ds_l1.xml
#	rm-automation/rm-automation-ui/src/test/resources/ru_l1.xml
#	rm-automation/rm-automation-ui/src/test/resources/sm_l1.xml
#	scripts/setUpMavenPhase.sh
#	travis-env-vars.yml
This commit is contained in:
Claudia Agache
2020-10-23 10:21:44 +03:00
7 changed files with 246 additions and 16 deletions

View File

@@ -34,7 +34,9 @@ stages:
if: commit_message !~ /\[skip tests\]/
- name: Security Scans
- name: Release
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message =~ /\[(community|enterprise) release .*\]/
- name: Publish
if: fork = false AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND commit_message =~ /\[publish\]/
jobs:
include:
@@ -68,6 +70,7 @@ jobs:
stage: Tests
script:
- echo "Enterprise Integrations Tests on MySQL"
- name: "Community Rest API Tests"
stage: Tests
install:
@@ -78,6 +81,7 @@ jobs:
- bash scripts/waitForAlfrescoToStart.sh
script: mvn -B test -pl :alfresco-rm-automation-community-rest-api -Dskip.automationtests=false
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
- name: "Enterprise Rest API Tests"
stage: Tests
install:
@@ -89,24 +93,83 @@ jobs:
script:
- mvn -B test -pl :alfresco-rm-automation-enterprise-rest-api -Dskip.automationtests=false
after_failure: docker ps -a | grep '_alfresco_1' | awk '{print $1}' | xargs docker logs | tail -5000
- name: "Community UI Tests ..."
- &community_shared_UI_configuration
name: "Community Smoke UI Tests for Records"
stage: Tests
addons:
firefox: "43.0.1"
artifacts:
paths:
- ./rm-automation/rm-automation-ui/target/surefire-reports
- ./rm-automation/rm-automation-ui/target/reports
- ./rm-automation/rm-automation-ui/target/screenshots
target_paths: $TRAVIS_BUILD_NUMBER
before_install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-rm-community-repo,:alfresco-rm-community-share -am
install:
- bash scripts/startAlfresco.sh $COMMUNITY_SHARE_PATH
- bash scripts/waitForAlfrescoToStart.sh
script:
- echo "Community UI Tests ..."
- name: "Enterprise UI Tests ..."
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communitySmokeRecords.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *community_shared_UI_configuration
name: "Community Smoke UI Tests for actions in RM site"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communitySmokeRMSite.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *community_shared_UI_configuration
name: "Community Level 2 UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=communityLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- &enterprise_shared_UI_configuration
name: "Enterprise Level 2 UI Tests"
stage: Tests
addons:
firefox: "43.0.1"
artifacts:
paths:
- ./rm-automation/rm-automation-ui/target/surefire-reports
- ./rm-automation/rm-automation-ui/target/reports
- ./rm-automation/rm-automation-ui/target/screenshots
target_paths: $TRAVIS_BUILD_NUMBER
before_install:
- travis_retry travis_wait 90 mvn -B -q install $MVN_SKIP -PbuildDockerImage -pl :alfresco-rm-enterprise-repo,:alfresco-rm-enterprise-share -am
install:
- bash scripts/startAlfresco.sh $ENTERPRISE_SHARE_PATH
- bash scripts/waitForAlfrescoToStart.sh
script:
- echo "Enterprise UI Tests ..."
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseLevel2Tests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Classification Level 2 UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseLevel2ClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Content Classification UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseContentClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Folders Classification UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseFoldersClassificationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Guides UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseGuidesTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Security Marks UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseSecurityMarksTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- <<: *enterprise_shared_UI_configuration
name: "Enterprise Console and Configuration UI Tests"
script:
- travis_wait 90 xvfb-run --server-args="-screen 0 1920x1080x24" mvn -B test -pl :alfresco-rm-automation-ui -Dskip.automationtests=false -DsuiteXmlFile=enterpriseConsoleAndConfigurationTests.xml -Dshare.url=${SHARE_URL} -Dalfresco.url=${ALFRESCO_URL} ${WEBDRIVER_ARGUMENTS}
- name: "Source Clear Scan (SCA)"
stage: Security Scans
@@ -117,16 +180,92 @@ jobs:
script:
- echo "Static Analysis (SAST)"
- name: "Community Release"
- name: "Community Release and Publish to S3 Staging Bucket"
stage: Release
if: commit_message =~ /\[community release .*\]/
before_script:
- source scripts/set-release-variables.sh
script:
- echo "Community Release"
- name: "Enterprise Release"
stage: Release
script:
- echo "Enterprise Release"
- bash scripts/release.sh "community"
before_deploy:
- bash scripts/zip-artifacts-staging.sh "community"
deploy:
- provider: s3
access_key_id: ${STAGING_AWS_ACCESS_KEY}
secret_access_key: ${STAGING_AWS_SECRET_KEY}
region: "eu-west-1"
bucket: "alfresco-artefacts-staging"
upload_dir: "community/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/community/RM/${RELEASE_VERSION}"
- name: "Copy to S3 Release Bucket"
stage: Publish
- name: "Enterprise Release and Publish to S3 Staging Bucket"
stage: Release
if: commit_message =~ /\[enterprise release .*\]/
before_script:
- source scripts/set-release-variables.sh
script:
- echo "Copy to S3 Release Bucket"
- bash scripts/release.sh "enterprise"
before_deploy:
- bash scripts/zip-artifacts-staging.sh "enterprise"
deploy:
- provider: s3
access_key_id: ${STAGING_AWS_ACCESS_KEY}
secret_access_key: ${STAGING_AWS_SECRET_KEY}
region: "eu-west-1"
bucket: "alfresco-artefacts-staging"
upload_dir: "enterprise/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/enterprise/RM/${RELEASE_VERSION}"
- name: "Community Publish to S3 Release Bucket"
stage: Publish
if: commit_message =~ /\[community release .*\]/ AND commit_message =~ /\[publish\]/
before_script: source scripts/set-release-variables.sh
script: skip
before_deploy: bash scripts/zip-artifacts-release.sh "community"
deploy:
- provider: s3
access_key_id: ${RELEASE_AWS_ACCESS_KEY}
secret_access_key: $RELEASE_AWS_ACCESS_SECRET}
region: "eu-west-1"
bucket: "eu.dl.alfresco.com"
upload_dir: "release/community/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/eu.dl.alfresco.com/release/community/RM/${RELEASE_VERSION}"
- name: "Enterprise Publish to S3 Release Bucket"
stage: Publish
if: commit_message =~ /\[enterprise release .*\]/ AND commit_message =~ /\[publish\]/
before_script: source scripts/set-release-variables.sh
script: skip
before_deploy: bash scripts/zip-artifacts-release.sh "enterprise"
deploy:
- provider: s3
access_key_id: ${RELEASE_AWS_ACCESS_KEY}
secret_access_key: ${RELEASE_AWS_ACCESS_SECRET}
region: "eu-west-1"
bucket: "eu.dl.alfresco.com"
upload_dir: "release/enterprise/RM/${RELEASE_VERSION}"
skip_cleanup: true
acl: private
local_dir: artifacts_dir
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/eu.dl.alfresco.com/release/enterprise/RM/${RELEASE_VERSION}"

View File

@@ -15,9 +15,9 @@
</organization>
<scm>
<connection>scm:git:ssh://git@github.com/Alfresco/governance-services.git</connection>
<developerConnection>scm:git:ssh://git@github.com/Alfresco/governance-services.git</developerConnection>
<url>scm:git:ssh://git@github.com/Alfresco/governance-services.git</url>
<connection>scm:git:https://github.com/Alfresco/governance-services.git</connection>
<developerConnection>scm:git:https://github.com/Alfresco/governance-services.git</developerConnection>
<url>https://github.com/Alfresco/governance-services</url>
<tag>HEAD</tag>
</scm>

32
scripts/release.sh Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -e
# Use full history for release
git checkout -B "${TRAVIS_BRANCH}"
git config user.email "build@alfresco.com"
release_type=$1
echo Release type: "$release_type"
if [ -z $release_type ]; then
echo "Please provide a release type."
exit 1
elif [ $release_type != "community" -a $release_type != "enterprise" ]; then
echo "The provided release type is not valid."
exit 1
fi
if [ -z ${RELEASE_VERSION} ] || [ -z ${DEVELOPMENT_VERSION} ]; then
echo "Please provide a Release and Development verison"
exit 1
fi
mvn --batch-mode \
-Dusername="${GIT_USERNAME}" \
-Dpassword="${GIT_PASSWORD}" \
-DreleaseVersion=${RELEASE_VERSION} \
-DdevelopmentVersion=${DEVELOPMENT_VERSION} \
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
-DskipTests -D${release_type} -DuseReleaseProfile=false \
-P${release_type}-release release:clean release:prepare release:perform

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
echo "Travis commit message: $TRAVIS_COMMIT_MESSAGE"
release_message=$(echo $TRAVIS_COMMIT_MESSAGE | grep -Po '(\[(community|enterprise)\srelease\s(\d\.)+(\d|[a-z])(-[A-Z]\d){0,1}\s(\d\.)+\d-SNAPSHOT\])')
if [ ! -n "$release_message" ]; then
echo "The commit message is in the wrong format or it does not contain all the required properties."
exit 1
fi
export RELEASE_VERSION=$(echo $release_message | grep -Po '(\d\.)+(\d|[a-z])(-[A-Z]\d){0,1}' | head -1)
export DEVELOPMENT_VERSION=$(echo $release_message | grep -Po '(\d\.)+\d-SNAPSHOT')
echo "Release version is set to $RELEASE_VERSION"
echo "Development version is set to $DEVELOPMENT_VERSION"

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
set -e
release_type=$1
mkdir "artifacts_dir"
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
-Dartifact=org.alfresco:alfresco-rm-${release_type}-repo:${RELEASE_VERSION}:amp \
-DoutputDirectory=artifacts_dir
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
-Dartifact=org.alfresco:alfresco-rm-${release_type}-share:${RELEASE_VERSION}:amp \
-DoutputDirectory=artifacts_dir
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.1.1:copy \
-Dartifact=org.alfresco:alfresco-rm-${release_type}-rest-api-explorer:${RELEASE_VERSION}:war \
-DoutputDirectory=artifacts_dir
cd artifacts_dir
zip alfresco-rm-${release_type}-${RELEASE_VERSION}.zip *
# rm *.amp *.war -f
ls

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -e
release_type=$1
mkdir "artifacts_dir"
cp rm-${release_type}/rm-${release_type}-repo/target/alfresco-rm-${release_type}-repo-*.amp artifacts_dir
cp rm-${release_type}/rm-${release_type}-share/target/alfresco-rm-${release_type}-share-*.amp artifacts_dir
cp rm-${release_type}/rm-${release_type}-rest-api-explorer/target/alfresco-rm-${release_type}-rest-api-explorer-*.war artifacts_dir
cd artifacts_dir
zip alfresco-rm-${release_type}-${RELEASE_VERSION}.zip *
# rm *.amp *.war -f
ls

View File

@@ -8,3 +8,7 @@ env:
- ENTERPRISE_REPO_PATH=rm-enterprise/rm-enterprise-repo
- ENTERPRISE_SHARE_PATH=rm-enterprise/rm-enterprise-share
- MVN_SKIP='-Dmaven.javadoc.skip=true -Dmaven.source.skip=true -DskipTests'
- ALFRESCO_URL="http://localhost:8080/alfresco"
- SHARE_URL="http://localhost:8181/share"
- DISPLAY=:99.0
- WEBDRIVER_ARGUMENTS='-Dwebdriver.local.grid=true -Dwebdriver.browser=RemoteFireFox -Dwebdriver.localGrid=false -Dorg.alfresco.rm.timeout_seconds.MEDIUM=30'