From 250ae7829efc4e40a55aff2853715a6c0967ce2b Mon Sep 17 00:00:00 2001 From: Robert Jackson Date: Wed, 28 Oct 2020 14:58:51 -0400 Subject: [PATCH 1/3] Use matrix builds to speed up all commands smoke tests --- .github/workflows/ci.yml | 72 +++++++++++++++++++++++++++++++++- package.json | 3 +- smoke-test-app/all-commands.sh | 58 --------------------------- smoke-test-app/package.json | 1 + 4 files changed, 72 insertions(+), 62 deletions(-) delete mode 100755 smoke-test-app/all-commands.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 221cef74..e00aeec5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,12 +52,80 @@ jobs: - tests - floating-deps + strategy: + matrix: + command: + # try:each + - ./node_modules/.bin/ember try:each + + # skip-cleanup option + - ./node_modules/.bin/ember try:each --skip-cleanup + + # config-path option + - ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config.js' + + # both ember-try options + - ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config.js' --skip-cleanup true + + # try:ember + - ./node_modules/.bin/ember try:ember '> 2.10.0 < 3.0.0' + - ./node_modules/.bin/ember try:ember '2.10.0' --config-path='../test/fixtures/dummy-ember-try-config.js' + - ./node_modules/.bin/ember try:ember '3.2.0' --skip-cleanup=true + + # try:config + - ./node_modules/.bin/ember try:config + - ./node_modules/.bin/ember try:config --config-path='../test/fixtures/dummy-ember-try-config.js' + + # try:one + - ./node_modules/.bin/ember try:one default + + # custom command + - ./node_modules/.bin/ember try:one default --- ember help + + # skip-cleanup option + - ./node_modules/.bin/ember try:one default --skip-cleanup + + # config-path option + - ./node_modules/.bin/ember try:one test1 --config-path='../test/fixtures/dummy-ember-try-config.js' + + # both ember-try options + - ./node_modules/.bin/ember try:one test1 --config-path='../test/fixtures/dummy-ember-try-config.js' --skip-cleanup true + + # custom command with options to command + - ./node_modules/.bin/ember try:one default --- ember help --silent + + # custom command mixed with ember try's own option + - ./node_modules/.bin/ember try:one default --skip-cleanup --- ember help --silent + + # try:reset + - ./node_modules/.bin/ember try:reset + + # Environment variables availability + - FOO="5" ./node_modules/.bin/ember try:one default --- ./fail-if-no-foo.sh + + - ./node_modules/.bin/ember try:one default --- FOO=5 ./fail-if-no-foo.sh + + # Custom, compound commands + - ./node_modules/.bin/ember try:one default --- 'echo 1 && echo 2' + + # Environment variables from config + - ./node_modules/.bin/ember try:each --config-path='../test/fixtures/dummy-ember-try-config-different-env-vars.js' + + steps: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 - - run: yarn install - - run: npm run client-test + - name: install deps + run: yarn install + - name: install smoke-test-app deps + # using `npm` to install in the smoke-test-app so that `file:` will be treated + # as a symlink (npm handles `file:../` as symlink, and `yarn` treats it + # as "copy into this directory") + run: npm install + working-directory: smoke-test-app + - run: ${{ matrix.command }} + working-directory: smoke-test-app npm-smoke-tests: strategy: diff --git a/package.json b/package.json index 46979f2c..95107597 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "scripts": { "all-test": "npm run-script node-test && npm run-script smoke-test", "build": "ember build", - "client-test": "./run-smoke-test.sh all-commands.sh", "lint": "eslint lib test", "lint:hbs": "ember-template-lint .", "lint:js": "eslint .", @@ -33,7 +32,7 @@ "smoke-test": "./run-smoke-test.sh smoke-test.sh", "smoke-test-yarn": "./run-smoke-test.sh smoke-test-yarn.sh", "start": "ember serve", - "test": "npm run-script lint && npm run-script node-test && npm run-script client-test" + "test": "npm run-script lint && npm run-script node-test" }, "dependencies": { "chalk": "^4.1.0", diff --git a/smoke-test-app/all-commands.sh b/smoke-test-app/all-commands.sh deleted file mode 100755 index 46f08e59..00000000 --- a/smoke-test-app/all-commands.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# try:each -ember try:each - -# skip-cleanup option -ember try:each --skip-cleanup - -# config-path option -ember try:each --config-path='../test/fixtures/dummy-ember-try-config.js' - -# both ember-try options -ember try:each --config-path='../test/fixtures/dummy-ember-try-config.js' --skip-cleanup true - -# try:ember -ember try:ember '> 2.10.0 < 3.0.0' -ember try:ember '2.10.0' --config-path='../test/fixtures/dummy-ember-try-config.js' -ember try:ember '3.2.0' --skip-cleanup=true - -# try:config -ember try:config -ember try:config --config-path='../test/fixtures/dummy-ember-try-config.js' - -# try:one -ember try:one default - -# custom command -ember try:one default --- ember help - -# skip-cleanup option -ember try:one default --skip-cleanup - -# config-path option -ember try:one test1 --config-path='../test/fixtures/dummy-ember-try-config.js' - -# both ember-try options -ember try:one test1 --config-path='../test/fixtures/dummy-ember-try-config.js' --skip-cleanup true - -# custom command with options to command -ember try:one default --- ember help --silent - -# custom command mixed with ember try's own option -ember try:one default --skip-cleanup --- ember help --silent - -# try:reset -ember try:reset - -# Environment variables availability -FOO="5" ember try:one default --- ./fail-if-no-foo.sh - -ember try:one default --- FOO=5 ./fail-if-no-foo.sh - -# Custom, compound commands -ember try:one default --- 'echo 1 && echo 2' - -# Environment variables from config -ember try:each --config-path='../test/fixtures/dummy-ember-try-config-different-env-vars.js' diff --git a/smoke-test-app/package.json b/smoke-test-app/package.json index 5b932df9..75ca6141 100644 --- a/smoke-test-app/package.json +++ b/smoke-test-app/package.json @@ -40,6 +40,7 @@ "ember-qunit": "^4.6.0", "ember-resolver": "^8.0.2", "ember-source": "~3.22.0", + "ember-try": "file:../", "eslint-plugin-ember": "^8.14.0", "loader.js": "^4.7.0", "qunit-dom": "^1.5.0" From 6dd5973e32faaf14e653c46035a69f6c67fdf8aa Mon Sep 17 00:00:00 2001 From: Robert Jackson Date: Wed, 28 Oct 2020 16:16:14 -0400 Subject: [PATCH 2/3] Load ember-try as an in-repo addon from smoke-test-app. This allows us to remove hte custom `npm pack` work that was being done in `run-smoke-test.sh` and simplify the testing of the smoke-test-app. --- .github/workflows/ci.yml | 12 ++++++++++-- package.json | 4 ++-- run-smoke-test.sh | 16 ---------------- smoke-test-app/package.json | 7 ++++++- 4 files changed, 18 insertions(+), 21 deletions(-) delete mode 100755 run-smoke-test.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e00aeec5..a3994478 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -146,7 +146,11 @@ jobs: with: node-version: ${{ matrix.node }} - - run: yarn install + - name: install deps + run: yarn install + - name: install smoke-test-app deps + run: npm install + working-directory: smoke-test-app - run: npm run smoke-test yarn-smoke-tests: @@ -168,5 +172,9 @@ jobs: with: node-version: ${{ matrix.node }} - - run: yarn install + - name: install deps + run: yarn install + - name: install smoke-test-app deps + run: yarn install + working-directory: smoke-test-app - run: yarn smoke-test-yarn diff --git a/package.json b/package.json index 95107597..1b226c7f 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "lint:js": "eslint .", "node-test": "mocha test/**/*.js", "node-test-with-coverage": "nyc --reporter lcov npm run-script node-test && node_modules/.bin/codecov", - "smoke-test": "./run-smoke-test.sh smoke-test.sh", - "smoke-test-yarn": "./run-smoke-test.sh smoke-test-yarn.sh", + "smoke-test": "cd smoke-test-app && ./smoke-test.sh", + "smoke-test-yarn": "cd smoke-test-app && ./smoke-test-yarn.sh", "start": "ember serve", "test": "npm run-script lint && npm run-script node-test" }, diff --git a/run-smoke-test.sh b/run-smoke-test.sh deleted file mode 100755 index 99c0e515..00000000 --- a/run-smoke-test.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -set -ex -rm ember-try*.tgz || true -npm pack -now=$(date +%s) -mv ember-try*.tgz "ember-try-${now}.tgz" -if [[ $npm_execpath =~ ^.*yarn.*$ ]]; then - cd smoke-test-app && yarn upgrade "ember-try@file:../ember-try-${now}.tgz" && yarn install && "./${1}" -else - if [[ $(npm -v | cut -d '.' -f 1) -lt 5 ]]; then - cd smoke-test-app && json -I -f package.json -e "this.devDependencies['ember-try']='../ember-try-${now}.tgz'" && npm install && "./${1}" - else - cd smoke-test-app && npm install --save-dev "../ember-try-${now}.tgz" && npm install && "./${1}" - fi -fi diff --git a/smoke-test-app/package.json b/smoke-test-app/package.json index 75ca6141..f6a01d3c 100644 --- a/smoke-test-app/package.json +++ b/smoke-test-app/package.json @@ -40,7 +40,6 @@ "ember-qunit": "^4.6.0", "ember-resolver": "^8.0.2", "ember-source": "~3.22.0", - "ember-try": "file:../", "eslint-plugin-ember": "^8.14.0", "loader.js": "^4.7.0", "qunit-dom": "^1.5.0" @@ -50,5 +49,11 @@ }, "engines": { "node": "6.* || 8.* || >= 10.*" + }, + "ember-addon": { + "#": "use ember-try as an 'in-repo' addon", + "paths": [ + "../" + ] } } From 8947601d02f01cbead704b2505e0ac580894a040 Mon Sep 17 00:00:00 2001 From: Robert Jackson Date: Wed, 28 Oct 2020 22:14:41 -0400 Subject: [PATCH 3/3] Remove smoke-test scripts. --- .github/workflows/ci.yml | 6 ++++-- package.json | 3 --- smoke-test-app/smoke-test-yarn.sh | 4 ---- smoke-test-app/smoke-test.sh | 4 ---- 4 files changed, 4 insertions(+), 13 deletions(-) delete mode 100755 smoke-test-app/smoke-test-yarn.sh delete mode 100755 smoke-test-app/smoke-test.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a3994478..c2bcd876 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -151,7 +151,8 @@ jobs: - name: install smoke-test-app deps run: npm install working-directory: smoke-test-app - - run: npm run smoke-test + - run: ./node_modules/.bin/ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-npm-scenarios.js' + working-directory: smoke-test-app yarn-smoke-tests: strategy: @@ -177,4 +178,5 @@ jobs: - name: install smoke-test-app deps run: yarn install working-directory: smoke-test-app - - run: yarn smoke-test-yarn + - run: ./node_modules/.bin/ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-yarn-scenarios.js' + working-directory: smoke-test-app diff --git a/package.json b/package.json index 1b226c7f..8c6f9c4b 100644 --- a/package.json +++ b/package.json @@ -22,15 +22,12 @@ "test": "tests" }, "scripts": { - "all-test": "npm run-script node-test && npm run-script smoke-test", "build": "ember build", "lint": "eslint lib test", "lint:hbs": "ember-template-lint .", "lint:js": "eslint .", "node-test": "mocha test/**/*.js", "node-test-with-coverage": "nyc --reporter lcov npm run-script node-test && node_modules/.bin/codecov", - "smoke-test": "cd smoke-test-app && ./smoke-test.sh", - "smoke-test-yarn": "cd smoke-test-app && ./smoke-test-yarn.sh", "start": "ember serve", "test": "npm run-script lint && npm run-script node-test" }, diff --git a/smoke-test-app/smoke-test-yarn.sh b/smoke-test-app/smoke-test-yarn.sh deleted file mode 100755 index a61a246b..00000000 --- a/smoke-test-app/smoke-test-yarn.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex - -ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-yarn-scenarios.js' diff --git a/smoke-test-app/smoke-test.sh b/smoke-test-app/smoke-test.sh deleted file mode 100755 index 0751aef6..00000000 --- a/smoke-test-app/smoke-test.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex - -ember try:one test2 --config-path='../test/fixtures/dummy-ember-try-config-with-npm-scenarios.js'