ACS-3844 Migrate to GHA (#1495)

This commit is contained in:
Domenico Sibilio
2023-01-10 14:53:35 +01:00
committed by GitHub
parent a2a8f62cc4
commit f22d58dc74
12 changed files with 218 additions and 198 deletions

202
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,202 @@
name: ACS Community Packaging CI
on:
pull_request:
branches:
- master
- release/**
- feature/**
- fix/**
push:
branches:
- master
- release/**
- feature/**
- fix/**
workflow_dispatch:
env:
GIT_USERNAME: ${{ secrets.BOT_GITHUB_USERNAME }}
GIT_EMAIL: ${{ secrets.BOT_GITHUB_EMAIL }}
GIT_PASSWORD: ${{ secrets.BOT_GITHUB_TOKEN }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }}
GITHUB_ACTIONS_DEPLOY_TIMEOUT: 60
MAVEN_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
MAVEN_USERNAME: ${{ secrets.NEXUS_USERNAME }}
QUAY_PASSWORD: ${{ secrets.QUAY_PASSWORD }}
QUAY_USERNAME: ${{ secrets.QUAY_USERNAME }}
TAS_ENVIRONMENT: ./tests/environment
TAS_SCRIPTS: ../alfresco-community-repo/packaging/tests/scripts
# Release version has to start with real version (7.4.0-....) for the docker image to build successfully.
RELEASE_VERSION: 7.4.0-A7
DEVELOPMENT_VERSION: 7.4.0-A8-SNAPSHOT
jobs:
tas_tests:
name: ${{ matrix.testSuite }} TAS tests
runs-on: ubuntu-latest
if: ${{ !contains(github.event.head_commit.message, '[skip tas]') && !contains(github.event.head_commit.message, '[skip tests]') }}
strategy:
fail-fast: false
matrix:
include:
- testSuite: REST API part1
pom: tests/tas-restapi/pom.xml
profiles: all-tas-tests,run-restapi-part1
compose-file: docker-compose-minimal+transforms.yml
- testSuite: REST API part2
pom: tests/tas-restapi/pom.xml
profiles: all-tas-tests,run-restapi-part2
compose-file: docker-compose-minimal+transforms.yml
- testSuite: REST API part3
pom: tests/tas-restapi/pom.xml
profiles: all-tas-tests,run-restapi-part3
compose-file: docker-compose-minimal+transforms.yml
- testSuite: CMIS (BROWSER binding)
pom: tests/tas-cmis/pom.xml
profiles: all-tas-tests,run-cmis-browser
compose-file: docker-compose-minimal+transforms.yml
- testSuite: CMIS (ATOM binding)
pom: tests/tas-cmis/pom.xml
profiles: all-tas-tests,run-cmis-atom
compose-file: docker-compose-minimal+transforms.yml
- testSuite: CMIS (WEBSERVICES binding)
pom: tests/tas-cmis/pom.xml
profiles: all-tas-tests,run-cmis-webservices
compose-file: docker-compose-minimal+transforms.yml
- testSuite: Email
pom: tests/tas-email/pom.xml
profiles: all-tas-tests
compose-file: docker-compose-minimal.yml
- testSuite: WebDAV
pom: tests/tas-webdav/pom.xml
profiles: all-tas-tests
compose-file: docker-compose-minimal.yml
- testSuite: Integration
pom: tests/tas-integration/pom.xml
profiles: all-tas-tests
compose-file: docker-compose-minimal.yml
steps:
- uses: actions/checkout@v3
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.30.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.30.0
- name: "Init"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
- name: "Setup the environment"
run: |
${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/${{ matrix.compose-file }}
${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
- name: "Test"
run: mvn -B install -ntp -f ${{ matrix.pom }} -P${{ matrix.profiles }} -Denvironment=default -DrunBugs=false
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
community_zip_tests:
name: Community Distribution Zip content tests
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[skip tests]')"
steps:
- uses: actions/checkout@v3
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.30.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.30.0
- name: "Init"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
- name: "Build"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: mvn -B -ntp -V clean install -Pags -DskipTests -Dmaven.javadoc.skip=true
- name: "Test"
run: mvn -B install -ntp -f tests/tas-distribution-zip/pom.xml -Prun-distribution-zip-contents-check -DrunBugs=false
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
docker_latest:
name: Update latest Docker images
runs-on: ubuntu-latest
needs: [tas_tests, community_zip_tests]
if: >
!failure() &&
!contains(github.event.head_commit.message, '[skip docker_latest]') &&
(github.ref_name == 'master' || contains(github.ref_name, 'release/')) &&
github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v3
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.30.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.30.0
- name: "Init"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
- name: "Push Docker images"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: mvn -B -ntp -V clean install -DskipTests -Dmaven.javadoc.skip=true -Pags -Ppush-docker-images
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
release:
name: Release and Copy to S3 Staging Bucket
runs-on: ubuntu-latest
needs: [docker_latest]
if: >
!failure() &&
contains(github.event.head_commit.message, '[release]') &&
(github.ref_name == 'master' || contains(github.ref_name, 'release/')) &&
github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v3
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.30.0
- uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.30.0
- name: "Init"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
- name: "Release"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: |
bash scripts/ci/verify_release_tag.sh
bash scripts/ci/maven_release.sh
source scripts/ci/prepare_staging_deploy.sh
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
- name: "Configure AWS credentials"
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_S3_STAGING_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_S3_STAGING_SECRET_KEY }}
aws-region: eu-west-1
- name: "Deploy to S3 Staging Bucket"
run: |
aws s3 cp --acl private --recursive ./deploy_dir s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${BRANCH_NAME}/${BUILD_NUMBER}
aws s3 cp --acl private --recursive ./deploy_dir_ags s3://alfresco-artefacts-staging/community/RM/${RELEASE_VERSION}
echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/alfresco-content-services-community/release/${BRANCH_NAME}/${BUILD_NUMBER}"
publish:
name: Copy to S3 Release Bucket
runs-on: ubuntu-latest
needs: [release]
if: >
!failure() &&
contains(github.event.head_commit.message, '[publish]') &&
(github.ref_name == 'master' || contains(github.ref_name, 'release/')) &&
github.event_name != 'pull_request'
steps:
- uses: actions/checkout@v3
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.30.0
- name: "Configure AWS credentials"
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_S3_RELEASE_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_S3_RELEASE_SECRET_ACCESS_KEY }}
aws-region: eu-west-1
- name: "Deploy to S3 Release Bucket"
run: |
bash scripts/ci/copy_to_release_bucket.sh
bash scripts/ci/copy_ags_to_release_bucket.sh

View File

@@ -1,177 +0,0 @@
---
dist: xenial
language: java
jdk: openjdk17
services:
- docker
git:
depth: false
quiet: true
cache:
directories:
- ${HOME}/.m2/repository
# the cache can grow constantly
before_cache: bash scripts/travis/cleanup_cache.sh
branches:
only:
- master
- /release\/.*/
- /feature\/.*/
- /fix\/.*/
env:
global:
- TAS_SCRIPTS=../alfresco-community-repo/packaging/tests/scripts
- TAS_ENVIRONMENT=./tests/environment
# Release version has to start with real version (7.4.0-....) for the docker image to build successfully.
- RELEASE_VERSION=7.4.0-A9
- DEVELOPMENT_VERSION=7.4.0-A10-SNAPSHOT
stages:
- name: test
if: commit_message !~ /\[skip tests\]/
- name: docker_latest
if: commit_message !~ /\[skip docker_latest\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
- name: release
if: commit_message =~ /\[release\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
- name: publish
if: commit_message =~ /\[publish\]/ AND (branch = master OR branch =~ /release\/.*/) AND type != pull_request AND fork = false
before_install: travis_retry bash scripts/travis/init.sh
install: travis_retry travis_wait 40 bash scripts/travis/build.sh
jobs:
include:
- name: "REST API TAS tests part1"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 60 mvn -B install -ntp -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part1 -Denvironment=default -DrunBugs=false
- name: "REST API TAS tests part2"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 60 mvn -B install -ntp -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part2 -Denvironment=default -DrunBugs=false
- name: "REST API TAS tests part3"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 60 mvn -B install -ntp -f tests/tas-restapi/pom.xml -Pall-tas-tests,run-restapi-part3 -Denvironment=default -DrunBugs=false
- name: "CMIS TAS tests - BROWSER binding"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 40 mvn -B install -ntp -f tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-browser -Denvironment=default -DrunBugs=false
- name: "CMIS TAS tests - ATOM binding"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 40 mvn -B install -ntp -f tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-atom -Denvironment=default -DrunBugs=false
- name: "CMIS TAS tests - WEBSERVICES binding"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal+transforms.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 40 mvn -B install -ntp -f tests/tas-cmis/pom.xml -Pall-tas-tests,run-cmis-webservices -Denvironment=default -DrunBugs=false
- name: "Email TAS tests"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 30 mvn -B install -ntp -f tests/tas-email/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- name: "WebDAV TAS tests"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 20 mvn -B install -ntp -f tests/tas-webdav/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- name: "Integration TAS tests"
if: commit_message !~ /\[skip tas\]/
before_script:
- ${TAS_SCRIPTS}/start-compose.sh ${TAS_ENVIRONMENT}/docker-compose-minimal.yml
- ${TAS_SCRIPTS}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
script:
- travis_wait 30 mvn -B install -ntp -f tests/tas-integration/pom.xml -Pall-tas-tests -Denvironment=default -DrunBugs=false
- name: "Community Distribution Zip content tests"
before_script:
- travis_retry travis_wait 20 mvn -B -ntp -V clean install -Pags -DskipTests -Dmaven.javadoc.skip=true
script:
- travis_wait 20 mvn -B install -ntp -f tests/tas-distribution-zip/pom.xml -Prun-distribution-zip-contents-check -DrunBugs=false
- name: "Update latest images"
stage: docker_latest
script: travis_retry travis_wait 30 mvn -B -ntp -V clean install -DskipTests -Dmaven.javadoc.skip=true -Pags -Ppush-docker-images
- name: "Release and Copy to S3 Staging Bucket"
stage: release
before_script: bash scripts/travis/verify_release_tag.sh
script: travis_wait 60 bash scripts/travis/maven_release.sh
before_deploy: source scripts/travis/prepare_staging_deploy.sh
deploy:
- provider: s3
access_key_id: "${AWS_STAGING_ACCESS_KEY}"
secret_access_key: "${AWS_STAGING_SECRET_KEY}"
bucket: "alfresco-artefacts-staging"
region: "eu-west-1"
skip_cleanup: true
acl: private
local_dir: "deploy_dir"
upload_dir: "alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
on:
all_branches: true
- provider: s3
access_key_id: "${AWS_STAGING_ACCESS_KEY}"
secret_access_key: "${AWS_STAGING_SECRET_KEY}"
bucket: "alfresco-artefacts-staging"
region: "eu-west-1"
skip_cleanup: true
acl: private
local_dir: "deploy_dir_ags"
upload_dir: "community/RM/${RELEASE_VERSION}"
on:
all_branches: true
after_deploy:
- echo "Finished release and deployed to https://s3.console.aws.amazon.com/s3/buckets/alfresco-artefacts-staging/alfresco-content-services/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}"
- name: "Copy to S3 Release Bucket"
stage: publish
# Nothing to build/install as we are just copying from S3 buckets
install: skip
script: skip
before_deploy: pip install awscli
deploy:
- provider: script
script: bash scripts/travis/copy_to_release_bucket.sh
on:
all_branches: true
- provider: script
script: bash scripts/travis/copy_ags_to_release_bucket.sh
on:
all_branches: true

8
scripts/travis/build.sh → scripts/ci/build.sh Normal file → Executable file
View File

@@ -16,13 +16,13 @@ if [ "${COM_DEPENDENCY_VERSION}" != "$(retrievePomParentVersion)" ]; then
fi fi
# Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches # Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches
if [[ $(isPullRequestBuild) && "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${TRAVIS_BRANCH}" =~ ^master$|^release/.+$ ]] ; then if [[ $(isPullRequestBuild) && "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${BRANCH_NAME}" =~ ^master$|^release/.+$ ]] ; then
printf "PRs with SNAPSHOT dependencies are not allowed into master or release branches\n" printf "PRs with SNAPSHOT dependencies are not allowed into master or release branches\n"
exit 1 exit 1
fi fi
# Prevent release jobs from starting when there are SNAPSHOT upstream dependencies # Prevent release jobs from starting when there are SNAPSHOT upstream dependencies
if [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] ; then if [[ "${COM_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${JOB_NAME,,}" = "release" ] ; then
printf "Cannot release project with SNAPSHOT dependencies!\n" printf "Cannot release project with SNAPSHOT dependencies!\n"
exit 1 exit 1
fi fi
@@ -41,13 +41,13 @@ SHARE_DEPENDENCY_VERSION="$(retrievePomProperty "dependency.alfresco-community-s
SHARE_IMAGE=$([[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Dshare.image.tag=latest" || echo) SHARE_IMAGE=$([[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && echo "-Dshare.image.tag=latest" || echo)
# Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches # Prevent merging of any SNAPSHOT dependencies into the master or the release/* branches
if [[ $(isPullRequestBuild) && "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${TRAVIS_BRANCH}" =~ ^master$|^release/.+$ ]] ; then if [[ $(isPullRequestBuild) && "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ && "${BRANCH_NAME}" =~ ^master$|^release/.+$ ]] ; then
printf "PRs with SNAPSHOT dependencies are not allowed into master or release branches\n" printf "PRs with SNAPSHOT dependencies are not allowed into master or release branches\n"
exit 1 exit 1
fi fi
# Prevent release jobs from starting when there are SNAPSHOT upstream dependencies # Prevent release jobs from starting when there are SNAPSHOT upstream dependencies
if [[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${TRAVIS_BUILD_STAGE_NAME,,}" = "release" ] ; then if [[ "${SHARE_DEPENDENCY_VERSION}" =~ ^.+-SNAPSHOT$ ]] && [ "${JOB_NAME,,}" = "release" ] ; then
printf "Cannot release project with SNAPSHOT dependencies!\n" printf "Cannot release project with SNAPSHOT dependencies!\n"
exit 1 exit 1
fi fi

View File

@@ -2,11 +2,11 @@
set +vx set +vx
function isPullRequestBuild() { function isPullRequestBuild() {
test "${TRAVIS_PULL_REQUEST}" != "false" test "${PULL_REQUEST}" != "false"
} }
function isBranchBuild() { function isBranchBuild() {
test "${TRAVIS_PULL_REQUEST}" = "false" test "${PULL_REQUEST}" = "false"
} }
function cloneRepo() { function cloneRepo() {
@@ -82,15 +82,9 @@ function remoteBranchExists() {
function identifyUpstreamSourceBranch() { function identifyUpstreamSourceBranch() {
local UPSTREAM_REPO="${1}" local UPSTREAM_REPO="${1}"
# if it's a pull request, use the source branch name (if it exists) # use the current branch name (or in case of PRs, the source branch name)
if isPullRequestBuild && remoteBranchExists "${UPSTREAM_REPO}" "${TRAVIS_PULL_REQUEST_BRANCH}" ; then if remoteBranchExists "${UPSTREAM_REPO}" "${BRANCH_NAME}" ; then
echo "${TRAVIS_PULL_REQUEST_BRANCH}" echo "${BRANCH_NAME}"
exit 0
fi
# otherwise use the current branch name (or in case of PRs, the target branch name)
if remoteBranchExists "${UPSTREAM_REPO}" "${TRAVIS_BRANCH}" ; then
echo "${TRAVIS_BRANCH}"
exit 0 exit 0
fi fi

View File

View File

@@ -12,8 +12,8 @@ if [ -z "${RELEASE_VERSION}" ]; then
exit 1 exit 1
fi fi
SOURCE="s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${TRAVIS_BRANCH}/${TRAVIS_BUILD_NUMBER}" SOURCE="s3://alfresco-artefacts-staging/alfresco-content-services-community/release/${BRANCH_NAME}/${BUILD_NUMBER}"
DESTINATION="s3://eu.dl.alfresco.com/release/community/${RELEASE_VERSION}-build-${TRAVIS_BUILD_NUMBER}" DESTINATION="s3://eu.dl.alfresco.com/release/community/${RELEASE_VERSION}-build-${BUILD_NUMBER}"
printf "\n%s\n%s\n" "${SOURCE}" "${DESTINATION}" printf "\n%s\n%s\n" "${SOURCE}" "${DESTINATION}"

2
scripts/travis/init.sh → scripts/ci/init.sh Normal file → Executable file
View File

@@ -5,7 +5,7 @@ set -vex
pushd "$(dirname "${BASH_SOURCE[0]}")/../../" pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
# Maven Setup # Maven Setup
mkdir -p "${HOME}/.m2" && cp -f .travis.settings.xml "${HOME}/.m2/settings.xml" mkdir -p "${HOME}/.m2" && cp -f .github/.ci.settings.xml "${HOME}/.m2/settings.xml"
find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
# Docker Logins # Docker Logins

View File

@@ -11,16 +11,17 @@ if [ -z "${RELEASE_VERSION}" ] || [ -z "${DEVELOPMENT_VERSION}" ]; then
fi fi
# Use full history for release # Use full history for release
git checkout -B "${TRAVIS_BRANCH}" git checkout -B "${BRANCH_NAME}"
# Add email to link commits to user # Define git identity for commits
git config user.email "${GIT_EMAIL}" git config user.email "${GIT_EMAIL}"
git config user.name "${GIT_USERNAME}"
mvn -B \ mvn -B \
-ntp \ -ntp \
-Prelease,all-tas-tests -Pags \ -Prelease,all-tas-tests -Pags \
-DreleaseVersion="${RELEASE_VERSION}" \ -DreleaseVersion="${RELEASE_VERSION}" \
-DdevelopmentVersion="${DEVELOPMENT_VERSION}" \ -DdevelopmentVersion="${DEVELOPMENT_VERSION}" \
"-Darguments=-Prelease,all-tas-tests -Pags -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \ "-Darguments=-Prelease,all-tas-tests -Pags -DskipTests -Dbuild-number=${BUILD_NUMBER}" \
release:clean release:prepare release:perform \ release:clean release:prepare release:perform \
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \ -DscmCommentPrefix="[maven-release-plugin][skip ci] " \
-Dusername="${GIT_USERNAME}" \ -Dusername="${GIT_USERNAME}" \