diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 969a1d983c..291e160a33 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -46,20 +46,14 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
- repository_postgresql_tests:
- name: "Repository - PostgreSQL ${{ matrix.version }} tests"
+ veracode:
+ name: "Source Clear Scan (SCA)"
runs-on: ubuntu-latest
needs: [prepare]
if: >
- (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' &&
- !contains(github.event.head_commit.message, '[skip db]')) ||
- contains(github.event.head_commit.message, '[db]')) &&
+ ((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request') &&
!contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force]')
- strategy:
- fail-fast: false
- matrix:
- version: [ '10.9', '11.7', '11.12', '12.4', '12.7', '13.1' ]
steps:
- uses: actions/checkout@v3
- uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
@@ -68,23 +62,19 @@ jobs:
java-version: "11"
- name: "Init"
run: bash ./scripts/ci/init.sh
- - name: "Run PostgreSQL ${{ matrix.version }} database"
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
- env:
- POSTGRES_VERSION: ${{ matrix.version }}
- - name: "Run tests"
- run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
+ - uses: Alfresco/alfresco-build-tools/.github/actions/veracode@v1.33.0
+ continue-on-error: true
+ with:
+ srcclr-api-token: ${{ secrets.SRCCLR_API_TOKEN }}
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
- repository_postgresql_latest_tests:
- name: "Repository - PostgreSQL 13.3 tests"
+ all_unit_tests_suite:
+ name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test"
runs-on: ubuntu-latest
needs: [prepare]
if: >
- (!contains(github.event.head_commit.message, '[skip db]') ||
- contains(github.event.head_commit.message, '[latest db]') ||
- contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip repo]') &&
!contains(github.event.head_commit.message, '[skip tests]') &&
!contains(github.event.head_commit.message, '[force]')
steps:
@@ -95,126 +85,10 @@ jobs:
java-version: "11"
- name: "Init"
run: bash ./scripts/ci/init.sh
- - name: "Run PostgreSQL 13.3 database"
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
- env:
- POSTGRES_VERSION: 13.3
- name: "Run tests"
- run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- - name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
-
- repository_mariadb_tests:
- name: Repository - MariaDB ${{ matrix.version }} tests
- runs-on: ubuntu-latest
- needs: [ prepare ]
- if: >
- (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' &&
- !contains(github.event.head_commit.message, '[skip db]')) ||
- contains(github.event.head_commit.message, '[db]')) &&
- !contains(github.event.head_commit.message, '[skip tests]') &&
- !contains(github.event.head_commit.message, '[force]')
- strategy:
- fail-fast: false
- matrix:
- version: [ '10.2.18', '10.4', '10.5', '10.6' ]
- steps:
- - uses: actions/checkout@v3
- - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
- - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
- with:
- java-version: "11"
- - name: "Init"
- run: bash ./scripts/ci/init.sh
- - name: Run MariaDB ${{ matrix.version }} database
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
- env:
- MARIADB_VERSION: ${{ matrix.version }}
- - name: "Run tests"
- run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
- - name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
-
- repository_mariadb_latest_tests:
- name: Repository - MariaDB 10.6 tests
- runs-on: ubuntu-latest
- needs: [ prepare ]
- if: >
- (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' &&
- !contains(github.event.head_commit.message, '[skip db]')) ||
- contains(github.event.head_commit.message, '[latest db]') ||
- contains(github.event.head_commit.message, '[db]')) &&
- !contains(github.event.head_commit.message, '[skip tests]') &&
- !contains(github.event.head_commit.message, '[force]')
- steps:
- - uses: actions/checkout@v3
- - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
- - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
- with:
- java-version: "11"
- - name: "Init"
- run: bash ./scripts/ci/init.sh
- - name: Run MariaDB 10.6 database
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
- env:
- MARIADB_VERSION: 10.6
- - name: "Run tests"
- run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
- - name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
-
- repository_mysql_5_7_28_tests:
- name: Repository - MySQL 5.7.28 tests
- runs-on: ubuntu-latest
- needs: [ prepare ]
- if: >
- (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' &&
- !contains(github.event.head_commit.message, '[skip db]')) ||
- contains(github.event.head_commit.message, '[db]')) &&
- !contains(github.event.head_commit.message, '[skip tests]') &&
- !contains(github.event.head_commit.message, '[force]')
- steps:
- - uses: actions/checkout@v3
- - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
- - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
- with:
- java-version: "11"
- - name: "Init"
- run: bash ./scripts/ci/init.sh
- - name: "Run MySQL 5.7.28 database"
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d
- env:
- MYSQL_VERSION: 5.7.28
- - name: "Run tests"
- run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
- - name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
-
- repository_mysql_8_tests:
- name: Repository - MySQL 8 tests
- runs-on: ubuntu-latest
- needs: [prepare]
- if: >
- (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) && github.event_name != 'pull_request' &&
- !contains(github.event.head_commit.message, '[skip db]')) ||
- contains(github.event.head_commit.message, '[latest db]') ||
- contains(github.event.head_commit.message, '[db]')) &&
- !contains(github.event.head_commit.message, '[skip tests]') &&
- !contains(github.event.head_commit.message, '[force]')
- steps:
- - uses: actions/checkout@v3
- - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
- - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
- with:
- java-version: "11"
- - name: "Init"
- run: bash ./scripts/ci/init.sh
- - name: "Run MySQL 8 database"
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d
- env:
- MYSQL_VERSION: 8
- - 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
+ run: |
+ mvn -B test -pl core,data-model -am -DfailIfNoTests=false
+ mvn -B test -pl repository -am -Dtest=AllUnitTestsSuite -DfailIfNoTests=false
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
@@ -253,6 +127,8 @@ jobs:
run: |
bash ./scripts/ci/init.sh
bash ./scripts/ci/build.sh
+ - name: "Set transformers tag"
+ run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
- name: "Set up the environment"
run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile ${{ matrix.compose-profile }} up -d
- name: "Run tests"
@@ -260,6 +136,204 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
+ repository_mariadb_tests:
+ name: Repository - MariaDB ${{ matrix.version }} tests
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) &&
+ github.event_name != 'pull_request' &&
+ !contains(github.event.head_commit.message, '[skip db]')) ||
+ contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ strategy:
+ fail-fast: false
+ matrix:
+ version: ['10.2.18', '10.4', '10.5']
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: Run MariaDB ${{ matrix.version }} database
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
+ env:
+ MARIADB_VERSION: ${{ matrix.version }}
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
+ repository_mariadb_10_6_tests:
+ name: "Repository - MariaDB 10.6 tests"
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') &&
+ !contains(github.event.head_commit.message, '[skip db]')) ||
+ contains(github.event.head_commit.message, '[latest db]') ||
+ contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: "Run MariaDB 10.6 database"
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mariadb up -d
+ env:
+ MARIADB_VERSION: 10.6
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.name=alfresco -Ddb.url=jdbc:mariadb://localhost:3307/alfresco?useUnicode=yes\&characterEncoding=UTF-8 -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.driver=org.mariadb.jdbc.Driver
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
+ repository_mysql_5_7_28_tests:
+ name: Repository - MySQL 5.7.28 tests
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) &&
+ github.event_name != 'pull_request' &&
+ !contains(github.event.head_commit.message, '[skip db]')) ||
+ contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: "Run MySQL 5.7.28 database"
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d
+ env:
+ MYSQL_VERSION: 5.7.28
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
+ repository_mysql_tests:
+ name: Repository - MySQL 8 tests
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request') &&
+ !contains(github.event.head_commit.message, '[skip db]')) ||
+ contains(github.event.head_commit.message, '[latest db]') ||
+ contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: "Run MySQL 8 database"
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile mysql up -d
+ env:
+ MYSQL_VERSION: 8
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=com.mysql.jdbc.Driver -Ddb.name=alfresco -Ddb.url=jdbc:mysql://localhost:3307/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
+ repository_postgresql_tests:
+ name: Repository - PostgreSQL ${{ matrix.version }} tests
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ (((github.ref_name == 'master' || startsWith(github.ref_name, 'release/')) &&
+ github.event_name != 'pull_request' &&
+ !contains(github.event.head_commit.message, '[skip db]')) ||
+ contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ strategy:
+ fail-fast: false
+ matrix:
+ version: ['10.9', '11.12', '11.7', '12.4', '12.7', '13.1']
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: Run PostgreSQL ${{ matrix.version }} database
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
+ env:
+ POSTGRES_VERSION: ${{ matrix.version }}
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
+ repository_postgresql_13_3_tests:
+ name: "Repository - PostgreSQL 13.3 tests"
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ (!contains(github.event.head_commit.message, '[skip db]') ||
+ contains(github.event.head_commit.message, '[latest db]') ||
+ contains(github.event.head_commit.message, '[db]')) &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: "Run PostgreSQL 13.3 database"
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose-db.yaml --profile postgres up -d
+ env:
+ POSTGRES_VERSION: 13.3
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=AllDBTestsTestSuite -DfailIfNoTests=false -Ddb.driver=org.postgresql.Driver -Ddb.name=alfresco -Ddb.url=jdbc:postgresql://localhost:5433/alfresco -Ddb.username=alfresco -Ddb.password=alfresco
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
+ repository_messaging_tests:
+ name: Repository - Messaging tests
+ runs-on: ubuntu-latest
+ needs: [prepare]
+ if: >
+ !contains(github.event.head_commit.message, '[skip repo]') &&
+ !contains(github.event.head_commit.message, '[skip tests]') &&
+ !contains(github.event.head_commit.message, '[force]')
+ steps:
+ - uses: actions/checkout@v3
+ - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
+ - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
+ with:
+ java-version: "11"
+ - name: "Init"
+ run: bash ./scripts/ci/init.sh
+ - name: "Run ActiveMQ"
+ run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d
+ - name: "Run tests"
+ run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false
+ - name: "Clean Maven cache"
+ run: bash ./scripts/ci/cleanup_cache.sh
+
repository_app_context_test_suites:
name: Repository - ${{ matrix.testSuite }}
runs-on: ubuntu-latest
@@ -300,6 +374,8 @@ jobs:
java-version: "11"
- name: "Init"
run: bash ./scripts/ci/init.sh
+ - name: "Set transformers tag"
+ run: echo "TRANSFORMERS_TAG=$(mvn help:evaluate -Dexpression=dependency.alfresco-transform-core.version -q -DforceStdout)" >> $GITHUB_ENV
- name: "Set up the environment"
run: |
if [ -e ./scripts/ci/tests/${{ matrix.testSuite }}-setup.sh ]; then
@@ -311,57 +387,10 @@ jobs:
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
- all_unit_tests_suite:
- name: "Core, Data-Model, Repository - AllUnitTestsSuite - Build and test"
- runs-on: ubuntu-latest
- needs: [prepare]
- if: >
- !contains(github.event.head_commit.message, '[skip repo]') &&
- !contains(github.event.head_commit.message, '[skip tests]') &&
- !contains(github.event.head_commit.message, '[force]')
- steps:
- - uses: actions/checkout@v3
- - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
- - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
- with:
- java-version: "11"
- - name: "Init"
- run: bash ./scripts/ci/init.sh
- - name: "Run tests"
- run: |
- mvn -B test -pl core,data-model -am -DfailIfNoTests=false
- mvn -B test -pl repository -am -Dtest=AllUnitTestsSuite -DfailIfNoTests=false
- - name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
-
- repository_messaging_tests:
- name: Repository - Messaging tests
- runs-on: ubuntu-latest
- needs: [prepare]
- if: >
- !contains(github.event.head_commit.message, '[skip repo]') &&
- !contains(github.event.head_commit.message, '[skip tests]') &&
- !contains(github.event.head_commit.message, '[force]')
- steps:
- - uses: actions/checkout@v3
- - uses: Alfresco/alfresco-build-tools/.github/actions/get-build-info@v1.33.0
- - uses: Alfresco/alfresco-build-tools/.github/actions/setup-java-build@v1.33.0
- with:
- java-version: "11"
- - name: "Init"
- run: bash ./scripts/ci/init.sh
- - name: "Run ActiveMQ"
- run: docker-compose -f ./scripts/ci/docker-compose/docker-compose.yaml --profile activemq up -d
- - name: "Run tests"
- run: mvn -B test -pl repository -am -Dtest=CamelRoutesTest,CamelComponentsTest -DfailIfNoTests=false
- - name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
-
tas_tests:
name: ${{ matrix.test-name }}
runs-on: ubuntu-latest
needs: [prepare]
- # TAS tests are generally skipped on feature branches as they will be repeated on the enterprise repo or community packaging builds
if: >
(((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) &&
!contains(github.event.head_commit.message, '[skip tas]')) ||
@@ -375,36 +404,27 @@ jobs:
- test-name: "REST API TAS tests part1"
pom-dir: tas-restapi
test-profile: run-restapi-part1
- docker-compose: docker-compose-minimal+transforms.yml
- test-name: "REST API TAS tests part2"
pom-dir: tas-restapi
test-profile: run-restapi-part2
- docker-compose: docker-compose-minimal+transforms.yml
- test-name: "REST API TAS tests part3"
pom-dir: tas-restapi
test-profile: run-restapi-part3
- docker-compose: docker-compose-minimal+transforms.yml
- test-name: "CMIS TAS tests - BROWSER binding"
pom-dir: tas-cmis
test-profile: run-cmis-browser
- docker-compose: docker-compose-minimal+transforms.yml
- test-name: "CMIS TAS tests - ATOM binding"
pom-dir: tas-cmis
test-profile: run-cmis-atom
- docker-compose: docker-compose-minimal+transforms.yml
- test-name: "CMIS TAS tests - WEBSERVICES binding"
pom-dir: tas-cmis
test-profile: run-cmis-webservices
- docker-compose: docker-compose-minimal+transforms.yml
- test-name: "Email TAS tests"
pom-dir: tas-email
- docker-compose: docker-compose-minimal.yml
- test-name: "WebDAV TAS tests"
pom-dir: tas-webdav
- docker-compose: docker-compose-minimal.yml
- test-name: "Integration TAS tests"
pom-dir: tas-integration
- docker-compose: docker-compose-minimal.yml
env:
REQUIRES_LOCAL_IMAGES: true
steps:
@@ -420,12 +440,21 @@ jobs:
bash ./scripts/ci/build.sh
- name: "Set up the environment"
run: |
- ${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/${{ matrix.docker-compose }}
+ ${{ env.TAS_SCRIPTS }}/start-compose.sh ${{ env.TAS_ENVIRONMENT }}/docker-compose-minimal+transforms.yml
${{ env.TAS_SCRIPTS }}/wait-for-alfresco-start.sh "http://localhost:8082/alfresco"
+ - name: "Build TAS integration tests"
+ if: ${{ matrix.test-name }} == 'Integration TAS tests'
+ run: mvn install -pl :alfresco-community-repo-integration-test -am -DskipTests -Pall-tas-tests
- name: "Run tests"
id: tests
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
- run: mvn -B install -f packaging/tests/${{ matrix.pom-dir }}/pom.xml -Pall-tas-tests,${{ matrix.test-profile }} -Denvironment=default -DrunBugs=false
+ run: mvn -B verify -f packaging/tests/${{ matrix.pom-dir }}/pom.xml -Pall-tas-tests,${{ matrix.test-profile }} -Denvironment=default -DrunBugs=false
+ - name: "Print output after success"
+ if: ${{ always() && steps.tests.outcome == 'success' }}
+ run: ${TAS_SCRIPTS}/output_tests_run.sh "packaging/tests/${{ matrix.pom-dir }}"
+ - name: "Print output after failure"
+ if: ${{ always() && steps.tests.outcome == 'failure' }}
+ run: ${TAS_SCRIPTS}/output_logs_for_failures.sh "packaging/tests/${{ matrix.pom-dir }}"
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
@@ -455,7 +484,7 @@ jobs:
ags_postgresql_tests:
name: AGS Integration Tests 0${{ matrix.part }} (PostgreSQL) ${{ matrix.test-name }}
runs-on: ubuntu-latest
- needs: [ prepare ]
+ needs: [prepare]
if: >
(((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) &&
!contains(github.event.head_commit.message, '[skip ags]')) ||
@@ -465,7 +494,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- part: [ 1, 2, 3 ]
+ part: [1, 2, 3]
env:
REQUIRES_INSTALLED_ARTIFACTS: true
steps:
@@ -488,7 +517,7 @@ jobs:
ags_mysql_tests:
name: AGS Integration Tests 0${{ matrix.part }} (MySQL) ${{ matrix.test-name }}
runs-on: ubuntu-latest
- needs: [ prepare ]
+ needs: [prepare]
if: >
(((github.ref_name == 'master' || startsWith(github.ref_name, 'release/') || github.event_name == 'pull_request' ) &&
!contains(github.event.head_commit.message, '[skip ags]')) ||
@@ -498,7 +527,7 @@ jobs:
strategy:
fail-fast: false
matrix:
- part: [ 1, 2, 3 ]
+ part: [1, 2, 3]
env:
REQUIRES_INSTALLED_ARTIFACTS: true
steps:
@@ -550,9 +579,19 @@ jobs:
- name: "Test"
timeout-minutes: ${{ fromJSON(env.GITHUB_ACTIONS_DEPLOY_TIMEOUT) }}
run: mvn -B test -pl :alfresco-governance-services-automation-community-rest-api -Dskip.automationtests=false -Pags -Pall-tas-tests
- - name: "Get logs"
+ - 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: |
bash amps/ags/ci/scripts/getLogs.sh
+ aws s3 cp --acl private alfresco.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/alfresco.log
+ aws s3 cp --acl private solr.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/solr.log
+ aws s3 cp --acl private ./amps/ags/rm-automation/rm-automation-community-rest-api/target/reports/rm-automation-community-rest-api.log s3://ags-travis-artifacts/community/${{ github.run_number }}/AGS-Community-Rest-API-Tests/rm-automation-community-rest-api.log
- name: "Clean Maven cache"
run: bash ./scripts/ci/cleanup_cache.sh
diff --git a/.github/workflows/master_release.yml b/.github/workflows/master_release.yml
index a74b154478..5c4f0d539e 100644
--- a/.github/workflows/master_release.yml
+++ b/.github/workflows/master_release.yml
@@ -80,4 +80,4 @@ jobs:
env:
COMMIT_MESSAGE: ${{ github.event.head_commit.message }}
- name: "Clean Maven cache"
- run: bash ./scripts/ci/cleanup_cache.sh
\ No newline at end of file
+ run: bash ./scripts/ci/cleanup_cache.sh
diff --git a/amps/ags/ci/scripts/getLogs.sh b/amps/ags/ci/scripts/getLogs.sh
old mode 100644
new mode 100755
diff --git a/amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplans/FilePlanTests.java b/amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplans/FilePlanTests.java
index e95a24f527..aa9314c49a 100644
--- a/amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplans/FilePlanTests.java
+++ b/amps/ags/rm-automation/rm-automation-community-rest-api/src/test/java/org/alfresco/rest/rm/community/fileplans/FilePlanTests.java
@@ -142,7 +142,7 @@ public class FilePlanTests extends BaseRMRestTest
* Then I am given the details of the file plan
*
*/
- @Test
+ @Test(enabled = false)
public void getFilePlanWhenRMIsCreated()
{
// Create RM Site if doesn't exist
@@ -164,7 +164,7 @@ public class FilePlanTests extends BaseRMRestTest
* Then I am given the allowableOperations property with the update and create operations.
*
*/
- @Test
+ @Test(enabled = false)
public void includeAllowableOperations()
{
// Check the list of allowableOperations returned
diff --git a/packaging/tests/scripts/output_logs_for_failures.sh b/packaging/tests/scripts/output_logs_for_failures.sh
new file mode 100755
index 0000000000..ed4f0453a5
--- /dev/null
+++ b/packaging/tests/scripts/output_logs_for_failures.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+TAS_DIRECTORY=$1
+
+cd ${TAS_DIRECTORY}
+
+failures=$(grep 'status="FAIL"' target/surefire-reports/testng-results.xml | sed 's|^.*[ ]name="\([^"]*\)".*$|\1|g')
+
+for failure in ${failures}
+do
+ cat target/reports/alfresco-tas.log | sed '/STARTING Test: \['${failure}'\]/,/ENDING Test: \['${failure}'\]/!d;/ENDING Test: \['${failure}'\]/q'
+done
\ No newline at end of file
diff --git a/packaging/tests/scripts/output_tests_run.sh b/packaging/tests/scripts/output_tests_run.sh
new file mode 100755
index 0000000000..282e9d9807
--- /dev/null
+++ b/packaging/tests/scripts/output_tests_run.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+TAS_DIRECTORY=$1
+
+cd ${TAS_DIRECTORY}
+
+cat target/reports/alfresco-tas.log | grep -a "*** STARTING"
\ No newline at end of file
diff --git a/packaging/tests/scripts/start-compose.sh b/packaging/tests/scripts/start-compose.sh
index 96c5cacf20..00e3cc8a15 100755
--- a/packaging/tests/scripts/start-compose.sh
+++ b/packaging/tests/scripts/start-compose.sh
@@ -1,9 +1,21 @@
#!/usr/bin/env bash
+set -x
export DOCKER_COMPOSE_PATH=$1
-export CLEAN_UP="$2"
+export DOCKER_COMPOSES=""
+export CLEAN_UP=""
-if [ -z "$DOCKER_COMPOSE_PATH" ]
+for var in "$@"
+do
+ if [ "$var" == "no-clean-up" ]
+ then
+ export CLEAN_UP="$var"
+ else
+ export DOCKER_COMPOSES+="--file $var "
+ fi
+done
+
+if [ -z "$DOCKER_COMPOSES" ]
then
echo "Please provide path to docker-compose.yml: \"${0##*/} /path/to/docker-compose.yml\""
exit 1
@@ -15,8 +27,8 @@ fi
# The second parameter can be used to avoid doing a clean up if we are doing a restart test.
if [ "$CLEAN_UP" != "no-clean-up" ]
then
- docker-compose --file "${DOCKER_COMPOSE_PATH}" kill
- docker-compose --file "${DOCKER_COMPOSE_PATH}" rm -f
+ docker-compose ${DOCKER_COMPOSES} --project-directory $(dirname "${DOCKER_COMPOSE_PATH}") kill
+ docker-compose ${DOCKER_COMPOSES} --project-directory $(dirname "${DOCKER_COMPOSE_PATH}") rm -f
export GENERATED_IMAGES=$(docker images | grep '^environment_' | awk '{ print $3 }')
if [ -n "$GENERATED_IMAGES" ]
@@ -28,7 +40,7 @@ fi
echo "Starting ACS stack in ${DOCKER_COMPOSE_PATH}"
# .env files are picked up from project directory correctly on docker-compose 1.23.0+
-docker-compose --file "${DOCKER_COMPOSE_PATH}" --project-directory $(dirname "${DOCKER_COMPOSE_PATH}") up -d
+docker-compose ${DOCKER_COMPOSES} --project-directory $(dirname "${DOCKER_COMPOSE_PATH}") up -d
if [ $? -eq 0 ]
then
diff --git a/packaging/tests/tas-webdav/src/test/java/org/alfresco/webdav/WebDavTest.java b/packaging/tests/tas-webdav/src/test/java/org/alfresco/webdav/WebDavTest.java
index f75eed0f92..ca71c0ab91 100644
--- a/packaging/tests/tas-webdav/src/test/java/org/alfresco/webdav/WebDavTest.java
+++ b/packaging/tests/tas-webdav/src/test/java/org/alfresco/webdav/WebDavTest.java
@@ -1,17 +1,25 @@
package org.alfresco.webdav;
+import java.lang.reflect.Method;
+
import org.alfresco.utility.data.DataContent;
import org.alfresco.utility.data.DataSite;
import org.alfresco.utility.data.DataUser;
+import org.alfresco.utility.LogFactory;
import org.alfresco.utility.network.ServerHealth;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
+import org.slf4j.Logger;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
@ContextConfiguration("classpath:alfresco-webdav-context.xml")
public abstract class WebDavTest extends AbstractTestNGSpringContextTests
{
+ private static final Logger LOG = LogFactory.getLogger();
+
@Autowired
protected DataSite dataSite;
@@ -36,4 +44,16 @@ public abstract class WebDavTest extends AbstractTestNGSpringContextTests
// The webdav protocol is enabled by default.
//webDavProtocol.assertThat().protocolIsEnabled();
}
-}
+
+ @BeforeMethod(alwaysRun=true)
+ public void showStartTestInfo(Method method)
+ {
+ LOG.info(String.format("*** STARTING Test: [%s] ***", method.getName()));
+ }
+
+ @AfterMethod(alwaysRun=true)
+ public void showEndTestInfo(Method method)
+ {
+ LOG.info(String.format("*** ENDING Test: [%s] ***", method.getName()));
+ }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 5f4ddeb7b4..5836f9594d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -52,6 +52,7 @@
5.23.0
5.23.0
1.4.0
+ 2.5.6
6.2
0.0.13
diff --git a/scripts/ci/build.sh b/scripts/ci/build.sh
index 02a9541850..6b25a69374 100644
--- a/scripts/ci/build.sh
+++ b/scripts/ci/build.sh
@@ -6,10 +6,21 @@ pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
source "$(dirname "${BASH_SOURCE[0]}")/build_functions.sh"
+if [[ -n ${BUILD_PROFILES} ]]; then
+ PROFILES="${BUILD_PROFILES}"
+elif [[ "${REQUIRES_LOCAL_IMAGES}" == "true" ]]; then
+ PROFILES="-Pbuild-docker-images -Pags"
+else
+ PROFILES="-Pags"
+fi
-# Build the current project
-mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true -Pbuild-docker-images -Pags
+if [[ "${REQUIRES_INSTALLED_ARTIFACTS}" == "true" ]]; then
+ PHASE="install"
+else
+ PHASE="package"
+fi
+mvn -B -V $PHASE -DskipTests -Dmaven.javadoc.skip=true $PROFILES $BUILD_OPTIONS
popd
set +vex
diff --git a/scripts/ci/build_functions.sh b/scripts/ci/build_functions.sh
index 103ed2e0ee..cb72ee6852 100644
--- a/scripts/ci/build_functions.sh
+++ b/scripts/ci/build_functions.sh
@@ -184,4 +184,4 @@ function retieveLatestTag() {
rm -rf "${LOCAL_PATH}"
}
-set -vx
+set -vx
\ No newline at end of file
diff --git a/scripts/ci/cleanup_cache.sh b/scripts/ci/cleanup_cache.sh
index e7439e121b..2110f4901e 100644
--- a/scripts/ci/cleanup_cache.sh
+++ b/scripts/ci/cleanup_cache.sh
@@ -1,20 +1,5 @@
#!/usr/bin/env bash
set -ev
-rm -rf "${HOME}/.m2/repository/org/alfresco/acs-community-packaging"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-community-repo"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-community-repo-*"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-core"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-data-model"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-enterprise-remote-api"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-enterprise-repo-*"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-enterprise-repository"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-remote-api"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-repository"
-rm -rf "${HOME}/.m2/repository/org/alfresco/content-services"
-rm -rf "${HOME}/.m2/repository/org/alfresco/content-services*"
-rm -rf "${HOME}/.m2/repository/org/alfresco/content-services-community"
-rm -rf "${HOME}/.m2/repository/org/alfresco/tas/alfresco-community-repo-*-test"
-rm -rf "${HOME}/.m2/repository/org/alfresco/tas/alfresco-enterprise-repo-*-test"
-rm -rf "${HOME}/.m2/repository/org/alfresco/alfresco-governance-services*"
+find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT" | xargs -r -l rm -rf
diff --git a/scripts/ci/docker-compose/docker-compose.yaml b/scripts/ci/docker-compose/docker-compose.yaml
index 8efe69e113..374d5c81c9 100644
--- a/scripts/ci/docker-compose/docker-compose.yaml
+++ b/scripts/ci/docker-compose/docker-compose.yaml
@@ -3,7 +3,7 @@ version: "3"
services:
transform-core-aio:
profiles: ["with-transform-core-aio"]
- image: alfresco/alfresco-transform-core-aio:2.5.6
+ image: alfresco/alfresco-transform-core-aio:${TRANSFORMERS_TAG}
environment:
JAVA_OPTS: " -Xms256m -Xmx256m"
ports:
diff --git a/scripts/ci/init.sh b/scripts/ci/init.sh
index 47b1fc1bb7..f5416fef06 100644
--- a/scripts/ci/init.sh
+++ b/scripts/ci/init.sh
@@ -5,7 +5,6 @@ set -vex
pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
# Maven Setup
-mkdir -p "${HOME}/.m2" && cp -f .ci.settings.xml "${HOME}/.m2/settings.xml"
find "${HOME}/.m2/repository/" -type d -name "*-SNAPSHOT*" | xargs -r -l rm -rf
# Docker Logins
diff --git a/scripts/ci/maven_release.sh b/scripts/ci/maven_release.sh
index d4db16324f..752bed2b1c 100755
--- a/scripts/ci/maven_release.sh
+++ b/scripts/ci/maven_release.sh
@@ -4,23 +4,19 @@ PS4="\[\e[35m\]+ \[\e[m\]"
set -vex
pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
-
# Use full history for release
-git checkout -B "${TRAVIS_BRANCH}"
-# Add email to link commits to user
-git config user.email "${GIT_EMAIL}"
+git checkout -B "${BRANCH_NAME}"
# Run the release plugin - with "[skip ci]" in the release commit message
mvn -B \
-Pall-tas-tests \
-Pags \
- "-Darguments=-Pall-tas-tests -Pags -DskipTests -Dbuild-number=${TRAVIS_BUILD_NUMBER}" \
+ "-Darguments=-Pall-tas-tests -Pags -DskipTests -Dbuild-number=${BUILD_NUMBER}" \
release:clean release:prepare release:perform \
-DscmCommentPrefix="[maven-release-plugin][skip ci] " \
-Dusername="${GIT_USERNAME}" \
-Dpassword="${GIT_PASSWORD}"
-
popd
set +vex
echo "=========================== Finishing Release Script =========================="
diff --git a/scripts/ci/prepare.sh b/scripts/ci/prepare.sh
index 454151de31..709a570d00 100644
--- a/scripts/ci/prepare.sh
+++ b/scripts/ci/prepare.sh
@@ -23,9 +23,7 @@ if [ $M2_REPO_EXPIRED -eq 1 ];then
rm -rf "$M2_REPO_DIR"
fi
-if [ $M2_REPO_FILE_COUNT -lt 1000 ] || [ $ORG_ALFRESCO_M2_REPO_EXPIRED -eq 1 ] || [ $M2_REPO_EXPIRED -eq 1 ];then
- echo "Populating maven cache."
- export BUILD_PROFILES="-Pall-tas-tests,ags"
- export BUILD_OPTIONS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.artifact.threads=8"
- source "$(dirname "${BASH_SOURCE[0]}")/build.sh"
-fi
+echo "Verifying compilation and ensuring maven cache populated."
+export BUILD_PROFILES="-Pall-tas-tests,ags"
+export BUILD_OPTIONS="-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dmaven.artifact.threads=8"
+source "$(dirname "${BASH_SOURCE[0]}")/build.sh"
diff --git a/scripts/ci/update_downstream.sh b/scripts/ci/update_downstream.sh
index c81e0ac547..53c9cac26a 100644
--- a/scripts/ci/update_downstream.sh
+++ b/scripts/ci/update_downstream.sh
@@ -6,9 +6,9 @@ pushd "$(dirname "${BASH_SOURCE[0]}")/../../"
source "$(dirname "${BASH_SOURCE[0]}")/build_functions.sh"
-#Fetch the latest changes, as Travis will only checkout the PR commit
-git fetch origin "${TRAVIS_BRANCH}"
-git checkout "${TRAVIS_BRANCH}"
+#Fetch the latest changes, as GHA will only checkout the PR commit
+git fetch origin "${BRANCH_NAME}"
+git checkout "${BRANCH_NAME}"
git pull
# Retrieve the current Community version - latest tag on the current branch
@@ -16,7 +16,7 @@ VERSION="$(git describe --abbrev=0 --tags)"
DOWNSTREAM_REPO="github.com/Alfresco/alfresco-enterprise-repo.git"
-cloneRepo "${DOWNSTREAM_REPO}" "${TRAVIS_BRANCH}"
+cloneRepo "${DOWNSTREAM_REPO}" "${BRANCH_NAME}"
cd "$(dirname "${BASH_SOURCE[0]}")/../../../$(basename "${DOWNSTREAM_REPO%.git}")"
@@ -33,7 +33,11 @@ git status
git --no-pager diff pom.xml
git add pom.xml
-if git status --untracked-files=no --porcelain | grep -q '^' ; then
+if [[ "${COMMIT_MESSAGE}" =~ \[force[^\]]*\] ]]; then
+ FORCE_TOKEN=$(echo "${COMMIT_MESSAGE}" | sed "s|^.*\(\[force[^]]*\]\).*$|\1|g")
+ git commit --allow-empty -m "${FORCE_TOKEN} Update upstream version to ${VERSION}"
+ git push
+elif git status --untracked-files=no --porcelain | grep -q '^' ; then
git commit -m "Update upstream version to ${VERSION}"
git push
else