From 7b65270a0ffb35daab09cc391f93015c8d007101 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Tue, 27 Aug 2019 13:06:13 -0700 Subject: [PATCH 1/4] add docker startup --- .travis.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.travis.yml b/.travis.yml index 403a10b770..66d9c26185 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,44 @@ sudo: required dist: trusty + +env: + COMPOSE_VERSION: 1.24.1 + +before_install: + # Docker Compose Install + - curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose + - chmod +x docker-compose + - sudo mv docker-compose /usr/local/bin + # Download and install Docker libs + - curl -L https://github.com/Ortus-Solutions/docker-buildfiles/archive/master.zip > docker.zip + - unzip docker.zip -d workbench + - mv workbench/docker-buildfiles-master workbench/docker + # CommandBox Keys + - sudo apt-key adv --keyserver keys.gnupg.net --recv 6DA70622 + - sudo echo "deb http://downloads.ortussolutions.com/debs/noarch /" | sudo tee -a + /etc/apt/sources.list.d/commandbox.list + - curl -L https://github.com/DSpace-Labs/DSpace-Docker-Images/archive/master.zip > master.zip + - unzip master.zip + +install: + # Core testing install + - sudo apt-get update && sudo apt-get --assume-yes install commandbox + - box install + - box server start + # Docker CFML Server Tests + - export ANGULAR_SRC=$(pwd) + - cd DSpace-Docker-Images/docker-compose-files/dspace-compose + - docker-compose -f docker-compose.yml -f d7.override.yml -f agn-src-override.yml build + - docker-compose -f docker-compose.yml -f d7.override.yml -f agn-src-override.yml -f load.entities.yml up -d + +before_script: + # Startup the app + - curl http://localhost:8080/ + - curl http://localhost:3000/ + +after_script: + - docker-compose -f docker-compose.yml -f d7.override.yml -f agn-src-override.yml down + addons: apt: sources: From c8fafd067e4939657e8cd9b9fd29ae24be62b7dc Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Tue, 27 Aug 2019 13:12:31 -0700 Subject: [PATCH 2/4] run e2e tests in docker using docker-compose --- .travis.yml | 37 ++++++++++++------------------------- package.json | 6 +++--- 2 files changed, 15 insertions(+), 28 deletions(-) diff --git a/.travis.yml b/.travis.yml index 66d9c26185..c161e85977 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,41 +3,31 @@ dist: trusty env: COMPOSE_VERSION: 1.24.1 + DSPACE_REST_HOST: localhost + DSPACE_REST_PORT: 8080 + DSPACE_REST_NAMESPACE: '/server/api' + DSPACE_REST_SSL: false before_install: # Docker Compose Install - curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose - chmod +x docker-compose - sudo mv docker-compose /usr/local/bin - # Download and install Docker libs - - curl -L https://github.com/Ortus-Solutions/docker-buildfiles/archive/master.zip > docker.zip - - unzip docker.zip -d workbench - - mv workbench/docker-buildfiles-master workbench/docker - # CommandBox Keys - - sudo apt-key adv --keyserver keys.gnupg.net --recv 6DA70622 - - sudo echo "deb http://downloads.ortussolutions.com/debs/noarch /" | sudo tee -a - /etc/apt/sources.list.d/commandbox.list - - curl -L https://github.com/DSpace-Labs/DSpace-Docker-Images/archive/master.zip > master.zip - - unzip master.zip + - git clone https://github.com/DSpace-Labs/DSpace-Docker-Images.git install: - # Core testing install - - sudo apt-get update && sudo apt-get --assume-yes install commandbox - - box install - - box server start - # Docker CFML Server Tests - - export ANGULAR_SRC=$(pwd) - - cd DSpace-Docker-Images/docker-compose-files/dspace-compose - - docker-compose -f docker-compose.yml -f d7.override.yml -f agn-src-override.yml build - - docker-compose -f docker-compose.yml -f d7.override.yml -f agn-src-override.yml -f load.entities.yml up -d + - docker-compose version + - docker-compose -f DSpace-Docker-Images/docker-compose-files/dspace-compose/d7.travis.yml up -d + - travis_retry yarn install + # allow starup time + #- sleep 60 before_script: # Startup the app - - curl http://localhost:8080/ - - curl http://localhost:3000/ + #- curl http://localhost:8080/ after_script: - - docker-compose -f docker-compose.yml -f d7.override.yml -f agn-src-override.yml down + - docker-compose -f DSpace-Docker-Images/docker-compose-files/dspace-compose/d7.travis.yml down addons: apt: @@ -57,9 +47,6 @@ cache: bundler_args: --retry 5 -install: - - travis_retry yarn install - script: # Use Chromium instead of Chrome. - export CHROME_BIN=chromium-browser diff --git a/package.json b/package.json index 7916379039..cb4ced69d7 100644 --- a/package.json +++ b/package.json @@ -22,10 +22,10 @@ "clean:prod": "yarn run clean:coverage && yarn run clean:doc && yarn run clean:dist && yarn run clean:log && yarn run clean:json && yarn run clean:bld", "clean": "yarn run clean:prod && yarn run clean:node", "prebuild": "yarn run clean:bld && yarn run clean:dist", - "prebuild:aot": "yarn run prebuild", + "prebuild:ci": "yarn run prebuild", "prebuild:prod": "yarn run prebuild", "build": "node ./scripts/webpack.js --progress --mode development", - "build:aot": "yarn run syncbuilddir && node ./scripts/webpack.js --env.aot --env.server --mode development && node ./scripts/webpack.js --env.aot --env.client --mode development", + "build:ci": "yarn run syncbuilddir && node ./scripts/webpack.js --env.aot --env.server --mode development && node ./scripts/webpack.js --env.aot --env.client --mode development", "build:prod": "yarn run syncbuilddir && node ./scripts/webpack.js --env.aot --env.server --mode production && node ./scripts/webpack.js --env.aot --env.client --mode production", "postbuild:prod": "yarn run rollup", "rollup": "rollup -c rollup.config.js", @@ -51,7 +51,7 @@ "debug:server": "node-nightly --inspect --debug-brk dist/server.js", "debug:build": "node-nightly --inspect --debug-brk node_modules/webpack/bin/webpack.js --mode development", "debug:build:prod": "node-nightly --inspect --debug-brk node_modules/webpack/bin/webpack.js --env.aot --env.client --env.server --mode production", - "ci": "yarn run lint && yarn run build:aot && yarn run test:headless", + "ci": "yarn run lint && yarn run build:ci && yarn run test:headless && npm-run-all -p -r server e2e", "protractor": "node node_modules/protractor/bin/protractor", "pree2e": "yarn run webdriver:update", "e2e": "yarn run protractor", From b68c59b83506a9a2a8c1b4371a7bdba27362da81 Mon Sep 17 00:00:00 2001 From: Terry Brady Date: Sun, 1 Sep 2019 16:25:26 -0700 Subject: [PATCH 3/4] Updating comments per review --- .travis.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index c161e85977..cff5a11c2c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,11 @@ sudo: required dist: trusty env: + # Install the latest docker-compose version for ci testing. + # The default installation in travis is not compatible with the latest docker-compose file version. COMPOSE_VERSION: 1.24.1 + # The ci step will test the dpsace-angular code against DSpace REST. + # Direct that step to utilize a DSpace REST service that has been started in docker. DSPACE_REST_HOST: localhost DSPACE_REST_PORT: 8080 DSPACE_REST_NAMESPACE: '/server/api' @@ -19,11 +23,10 @@ install: - docker-compose version - docker-compose -f DSpace-Docker-Images/docker-compose-files/dspace-compose/d7.travis.yml up -d - travis_retry yarn install - # allow starup time - #- sleep 60 before_script: - # Startup the app + # The following line could be enabled to verify that the rest server is repsonding. + # Currently, "yarn run build" takes enough time to run to allow the service to be available #- curl http://localhost:8080/ after_script: From ddd1bb42cf4580913e7db4847cf5e62257dc0629 Mon Sep 17 00:00:00 2001 From: Tim Donohue Date: Fri, 6 Sep 2019 08:38:48 -0500 Subject: [PATCH 4/4] Spelling fixes --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index cff5a11c2c..ee3604ffc3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ env: # Install the latest docker-compose version for ci testing. # The default installation in travis is not compatible with the latest docker-compose file version. COMPOSE_VERSION: 1.24.1 - # The ci step will test the dpsace-angular code against DSpace REST. + # The ci step will test the dspace-angular code against DSpace REST. # Direct that step to utilize a DSpace REST service that has been started in docker. DSPACE_REST_HOST: localhost DSPACE_REST_PORT: 8080 @@ -25,7 +25,7 @@ install: - travis_retry yarn install before_script: - # The following line could be enabled to verify that the rest server is repsonding. + # The following line could be enabled to verify that the rest server is responding. # Currently, "yarn run build" takes enough time to run to allow the service to be available #- curl http://localhost:8080/