Skip to content

Commit

Permalink
fix(build): update CircleCI to use node-orb and simplify the config
Browse files Browse the repository at this point in the history
  • Loading branch information
GreatWizard committed Jun 15, 2020
1 parent 378cd61 commit d8995c7
Show file tree
Hide file tree
Showing 5 changed files with 1,369 additions and 137 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
49 changes: 33 additions & 16 deletions config/ember-try.js
Original file line number Diff line number Diff line change
@@ -1,67 +1,84 @@
"use strict";
'use strict';

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

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",
name: 'ember-release',
npm: {
devDependencies: {
"ember-source": await getChannelURL("release")
'ember-source': await getChannelURL('release')
}
}
},
{
name: "ember-beta",
name: 'ember-beta',
npm: {
devDependencies: {
"ember-source": await getChannelURL("beta")
'ember-source': await getChannelURL('beta')
}
}
},
{
name: "ember-canary",
name: 'ember-canary',
npm: {
devDependencies: {
"ember-source": await getChannelURL("canary")
'ember-source': await getChannelURL('canary')
}
}
},
{
name: "ember-default",
name: 'ember-default',
npm: {
devDependencies: {}
}
},
{
name: "ember-default-with-jquery",
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'
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"@ember/optional-features": "^0.7.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
30 changes: 17 additions & 13 deletions testem.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,31 @@
const lint = process.env.CI ? "nolint" : "";
const testParams = ["hidepassed", lint].filter(Boolean).join("&");
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"],
launch_in_ci: [
'Chrome'
],
launch_in_dev: [
'Chrome'
],
browser_start_timeout: 120,
browser_args: {
Chrome: {
ci: [
// --no-sandbox is needed when running Chrome inside a container
process.env.CI ? "--no-sandbox" : null,
"--headless",
"--disable-dev-shm-usage",
"--disable-software-rasterizer",
"--mute-audio",
"--remote-debugging-port=0",
"--window-size=1440,900"
process.env.CI ? '--no-sandbox' : null,
'--headless',
'--disable-dev-shm-usage',
'--disable-software-rasterizer',
'--mute-audio',
'--remote-debugging-port=0',
'--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 d8995c7

Please sign in to comment.