Skip to content

Commit

Permalink
fix(build): update CircleCI to use node-orb and re-enable node polyfi…
Browse files Browse the repository at this point in the history
…lls in ember-auto-import
  • Loading branch information
GreatWizard committed Jun 15, 2020
1 parent 378cd61 commit 8072e86
Show file tree
Hide file tree
Showing 6 changed files with 3,279 additions and 2,475 deletions.
170 changes: 73 additions & 97 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,25 @@ defaults: &defaults
- image: circleci/node:10-browsers
environment:
JOBS: 1
working_directory: ~/ember-metrics-pendo
working_directory: ~/project

orbs:
node: circleci/node@2.1.1
version: 2.1

version: 2
jobs:
checkout_code:
prepare:
<<: *defaults
steps:
- checkout
- persist_to_workspace:
root: .
paths:
- .

install_dependencies:
<<: *defaults
steps:
- attach_workspace:
at: .
- restore_cache:
keys:
- ember-metrics-pendo-node10-v1-{{ checksum "yarn.lock" }}
- node/install-packages:
pkg-manager: "yarn"
cache-key: "yarn.lock"
cache-version: "v1"
include-branch-in-cache-key: false
- run:
name: Yarn Install
command: yarn install --non-interactive --pure-lockfile
- save_cache:
key: ember-metrics-pendo-node10-v1-{{ checksum "yarn.lock" }}
paths:
- ~/ember-metrics-pendo/node_modules
name: Generate reports folder
command: mkdir reports
- persist_to_workspace:
root: .
paths:
Expand All @@ -50,96 +41,81 @@ jobs:

test:
<<: *defaults
parameters:
scenario:
type: enum
enum:
[
"lts-3.12",
"lts-3.16",
"release",
"beta",
"canary",
"default",
"default-with-jquery",
"classic",
]
default: "default"
steps:
- attach_workspace:
at: .
- run:
name: Run Tests
command: yarn ember try:one ember-default --skip-cleanup=true

test_lts_3_4:
<<: *defaults
steps:
- attach_workspace:
at: .
- run:
name: Run Tests Ember LTS 3.4
command: yarn ember try:one ember-lts-3.4 --skip-cleanup=true

test_lts_3_8:
<<: *defaults
steps:
- attach_workspace:
at: .
- run:
name: Run Tests Ember LTS 3.8
command: yarn ember try:one ember-lts-3.8 --skip-cleanup=true

test_release:
<<: *defaults
steps:
- attach_workspace:
at: .
- run:
name: Run Tests Ember Release
command: yarn ember try:one ember-release --skip-cleanup=true

test_beta:
<<: *defaults
steps:
- attach_workspace:
at: .
- run:
name: Run Tests Ember Beta
command: yarn ember try:one ember-beta --skip-cleanup=true

test_canary:
<<: *defaults
steps:
- attach_workspace:
at: .
- run:
name: Run Tests Ember Canary
command: yarn ember try:one ember-canary --skip-cleanup=true

test_default_with_jquery:
<<: *defaults
steps:
- attach_workspace:
at: .
- run:
name: Run Tests Ember Default With jQuery
command: yarn ember try:one ember-default-with-jquery --skip-cleanup=true
name: Run << parameters.scenario >> Tests
command: yarn ember try:one ember-<< parameters.scenario >> --skip-cleanup=true
- store_test_results:
path: "reports"
- store_artifacts:
path: "reports"

workflows:
version: 2
test_matrix:
jobs:
- checkout_code
- install_dependencies:
requires:
- checkout_code
- prepare
- lint:
requires:
- install_dependencies
- prepare
- test:
requires:
- prepare
- test:
name: test_lts_3_12
scenario: lts-3.12
requires:
- install_dependencies
- test_lts_3_4:
- lint
- test
- test:
name: test_lts_3_16
scenario: lts-3.16
requires:
- install_dependencies
- test_lts_3_8:
- lint
- test
- test:
name: test_release
scenario: release
requires:
- install_dependencies
- test_release:
- lint
- test
- test:
name: test_beta
scenario: beta
requires:
- install_dependencies
- test_beta:
- lint
- test
- test:
name: test_canary
scenario: canary
requires:
- install_dependencies
- test_canary:
- lint
- test
- test:
name: test_default_with_jquery
scenario: "default-with-jquery"
requires:
- install_dependencies
- test_default_with_jquery:
- lint
- test
- test:
name: test_classic
scenario: classic
requires:
- install_dependencies
- lint
- test
73 changes: 46 additions & 27 deletions config/ember-try.js
Original file line number Diff line number Diff line change
@@ -1,70 +1,89 @@
"use strict";

const getChannelURL = require("ember-source-channel-url");
const isCI = !!process.env.CI;

module.exports = async function() {
module.exports = async function () {
return {
command: isCI
? "ember test --silent --reporter xunit > ./reports/test_results.xml"
: "ember test",
useYarn: true,
scenarios: [
{
name: "ember-lts-3.4",
name: "ember-lts-3.12",
npm: {
devDependencies: {
"ember-source": "~3.4.0"
}
}
"ember-source": "~3.12.0",
},
},
},
{
name: "ember-lts-3.8",
name: "ember-lts-3.16",
npm: {
devDependencies: {
"ember-source": "~3.8.0"
}
}
"ember-source": "~3.16.0",
},
},
},
{
name: "ember-release",
npm: {
devDependencies: {
"ember-source": await getChannelURL("release")
}
}
"ember-source": await getChannelURL("release"),
},
},
},
{
name: "ember-beta",
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta")
}
}
"ember-source": await getChannelURL("beta"),
},
},
},
{
name: "ember-canary",
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary")
}
}
"ember-source": await getChannelURL("canary"),
},
},
},
{
name: "ember-default",
npm: {
devDependencies: {}
}
devDependencies: {},
},
},
{
name: "ember-default-with-jquery",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"jquery-integration": true
})
"jquery-integration": true,
}),
},
npm: {
devDependencies: {
"@ember/jquery": "^0.5.1"
}
}
}
]
"@ember/jquery": "^0.5.1",
},
},
},
{
name: "ember-classic",
env: {
EMBER_OPTIONAL_FEATURES: JSON.stringify({
"application-template-wrapper": true,
"default-async-observers": false,
"template-only-glimmer-components": false,
}),
},
npm: {
ember: {
edition: "classic",
},
},
},
],
};
};
18 changes: 14 additions & 4 deletions ember-cli-build.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
'use strict';
"use strict";

const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');
const EmberAddon = require("ember-cli/lib/broccoli/ember-addon");

module.exports = function(defaults) {
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
// Add options here
// This fixes a test failure that began appearing after upgrading
// ember-auto-import, which stopped automatically enabling webpack
// polyfills in v1.4.0. See the URLs below for more details:
// https://github.com/ef4/ember-auto-import#i-upgraded-my-ember-auto-import-version-and-now-things-dont-import-what-changed
autoImport: {
webpack: {
node: {
global: true
}
}
}
});

/*
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@
"ember-metrics": "^0.13.0"
},
"devDependencies": {
"@ember/optional-features": "^0.7.0",
"@ember/optional-features": "^1.3.0",
"broccoli-asset-rev": "^3.0.0",
"ember-auto-import": "^1.3.0",
"ember-circleci": "^1.4.0",
"ember-circleci": "^1.9.0",
"ember-cli": "~3.12.0",
"ember-cli-dependency-checker": "^3.1.0",
"ember-cli-eslint": "^5.1.0",
Expand Down
12 changes: 6 additions & 6 deletions testem.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ const lint = process.env.CI ? "nolint" : "";
const testParams = ["hidepassed", lint].filter(Boolean).join("&");

module.exports = {
parallel: -1,
test_page: `tests/index.html?${testParams}`,
disable_watching: true,
launch_in_ci: ["Chrome"],
launch_in_dev: ["Chrome"],
browser_start_timeout: 120,
browser_args: {
Chrome: {
ci: [
Expand All @@ -17,11 +17,11 @@ module.exports = {
"--disable-software-rasterizer",
"--mute-audio",
"--remote-debugging-port=0",
"--window-size=1440,900"
].filter(Boolean)
"--window-size=1440,900",
].filter(Boolean),
},
Firefox: {
ci: ["-headless", "--window-size=1440,900"].filter(Boolean)
}
}
ci: ["-headless", "--window-size=1440,900"].filter(Boolean),
},
},
};
Loading

0 comments on commit 8072e86

Please sign in to comment.