dist: trusty sudo: required services: - docker addons: chrome: stable language: node_js node_js: - '12.14.0' cache: directories: - node_modules branches: only: - master - develop - /.*beta.*/ before_install: - sudo /etc/init.d/postgresql stop - npm install -g npm@latest - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start - sleep 3 - . ./scripts/ci/job_hooks/before_install.sh install: echo "no install" stages: - name: Quality and Unit tests - name: Update Rancher if: (type = push AND tag IS blank) OR type = api - name: Release Libraries if: branch = master AND type = push - name: Release Tag if: branch = master AND type = push - name: e2e - name: Trigger DW if: (branch = master OR branch = develop OR (tag =~ .*beta.*)) AND (type = push OR type = api) jobs: include: - stage: Quality and Unit tests name: 'Code quality checks' script: npm ci && npm run lint - stage: Quality and Unit tests name: 'Build (without animation)' before_script: npx @alfresco/adf-cli update-commit-sha --pointer "HEAD" --pathPackage "$(pwd)" script: npm ci && npm run build.e2e after_success: ./scripts/ci/utils/artifact-to-s3.sh -a ./dist/app -o "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" cache: false - stage: Quality and Unit tests name: 'Unit tests aos' script: npm ci && ng test adf-office-services-ext --watch=false cache: false - stage: Quality and Unit tests name: 'Unit tests shared' script: npm ci && ng test aca-shared --watch=false cache: false - stage: Quality and Unit tests name: 'Unit tests ACA' script: - npm ci - ng test app --code-coverage --watch=false - bash <(curl -s https://codecov.io/bash) -X gcov cache: false - stage: e2e name: Test Suite appNavigation&search before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh script: ng run app-e2e:e2elite --suite "authentication,listViews,navigation,application,pagination,search" after_script: ./start.sh -d - name: Test Suite actionsAvailable before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh script: ng run app-e2e:e2elite --suite "actionsAvailable" after_script: ./start.sh -d - name: Test Suite addRemoveContent before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh script: ng run app-e2e:e2elite --suite "addRemoveContent" after_script: ./start.sh -d - name: Test Suite manageContent before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh script: ng run app-e2e:e2elite --suite "manageContent" after_script: ./start.sh -d - name: Test Suite sharingContent&markFavorite before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh script: ng run app-e2e:e2elite --suite "sharingContent" after_script: ./start.sh -d - name: Test Suite viewContent&metadata&extensions before_script: - ./scripts/ci/job_hooks/before_e2e.sh "$S3_DBP_FOLDER/alfresco-content-app.tar.bz2" "./dist/app" - ./start.sh script: ng run app-e2e:e2elite --suite "viewer,infoDrawer,extensions" after_script: ./start.sh -d - stage: Update Rancher name: Update Rancher script: ./scripts/travis/deploy/deploy.sh - stage: Release Libraries name: Release Libraries script: - npm run build.extensions || exit 1; - ./scripts/travis/release/release-npm.sh || exit 1; - stage: Release Tag script: ./scripts/travis/release/git-tag.sh - stage: Trigger DW script: ./scripts/trigger-travis.sh --pro --branch $TRAVIS_BRANCH Alfresco alfresco-digital-workspace-app $TRAVIS_ACCESS_TOKEN after_failure: - alfrescoContainerId=$(docker ps -a | grep 'alfresco-content-repository-community' | awk '{print $1}') - docker logs $alfrescoContainerId > alfresco.log - cat alfresco.log notifications: slack: on_pull_requests: false rooms: secure: 'qcTP/+rhVweMSZZAQMPz4sW7boS8XC0RX1SPYgg7hIfxBr9747WpRLkJ1sirkVaXI/6XfYAyl42CTfPmTuJxIC+co/NSnEDknwVsnKZd0O/ykTpo+mxIN4BTZX8dm+gELR5IEYQPs+Yki3ZnD9b+0mCK1yD8JallKCQeE2U9BhzZhP/Fn0ce35EulybNp3QQDaox0XC+7gadMdxlvK8mzP1scw76wRLtx25QLxxV+OwEw0bzyh8y3onfjHfnoDcUQWRTNdnjapzmgf1LNdC202A5kwp5sJggfSDr+ActRqaMvv4BbMsFpdan34B6zPQJfyZL1r8IB8O8BEKcAaOUVcTjnZAOom8kHS8F07/mo5xnNYmV8oNX2/egr1CiG4U0EAGF2XGqM+vetYnF88LTEzy84kVxmSwKGVfzlGOyTplMXJ1iCENndtfWm1AXhAFj5RSsSAZg6IStTM+mcpnC75moEwQtj8bTenwehHz1HQAjQX7xeTQo27SxDc7oqp1ReyXCllMjKxckjVGmp2j6yxn1Jl55kivBj57vluLtEtziOGluVELP5E2fV0VAuErNhnjLm4LJARVN76PQaTOXYwATVVJJDhb/77TesvxQsr3VfiROEKm7QB7IDFjghjLLisSX67JQ5+7K/qMlqf9+9hNw4n0v1eMylVjt+gyxspc=' on_failure: always on_success: change template: - 'Repo `%{repository_slug}` *%{result}* build (<%{build_url}|#%{build_number}>) for commit (<%{compare_url}|%{commit}>) on branch `%{branch}`.' - 'Author: %{author} Execution time: *%{duration}*' - 'Message: %{message}'