33const getChannelURL = require ( 'ember-source-channel-url' ) ;
44const { embroiderSafe } = require ( '@embroider/test-setup' ) ;
55
6+ /**
7+ * Pick which versions of ember against which to test based on whether the tests are running locally, as part of a PR,
8+ * or when merging to `master` or creating a release.
9+ *
10+ * @returns The versions which should be tested, along with their respective config
11+ */
612module . exports = async function ( ) {
7- return {
8- useYarn : true ,
9- scenarios : [
10- {
11- name : 'ember-lts-3.20' ,
12- npm : {
13- devDependencies : {
14- 'ember-source' : '~3.20.0' ,
15- } ,
13+ // whenever and wherever we test, we want to at least test against the latest version of ember
14+ let scenarios = [
15+ {
16+ name : 'ember-release' ,
17+ npm : {
18+ devDependencies : {
19+ 'ember-source' : await getChannelURL ( 'release' ) ,
1620 } ,
1721 } ,
22+ } ,
23+ ] ;
24+
25+ // in CI we add a few more tests - LTS and embroider (which is an ember compiler)
26+ if ( process . env . GITHUB_ACTIONS ) {
27+ scenarios = scenarios . concat ( [
1828 {
19- name : 'ember-release ' ,
29+ name : 'ember-lts-3.20 ' ,
2030 npm : {
2131 devDependencies : {
22- 'ember-source' : await getChannelURL ( 'release' ) ,
32+ 'ember-source' : '~3.24.0' ,
2333 } ,
2434 } ,
2535 } ,
36+ embroiderSafe ( ) ,
37+ ] ) ;
38+ }
39+
40+ // finally, just to be extra thorough when merging to master and releasing, we add the beta channel and ember
41+ // "classic" (a legacy version which was last current in late 2019)
42+ if (
43+ process . env . GITHUB_EVENT_NAME === 'push' &&
44+ ( process . env . GITHUB_HEAD_REF === 'master' || process . env . GITHUB_HEAD_REF . startsWith ( 'release' ) )
45+ ) {
46+ scenarios = scenarios . concat ( [
2647 {
2748 name : 'ember-beta' ,
2849 npm : {
@@ -32,7 +53,6 @@ module.exports = async function() {
3253 } ,
3354 allowedToFail : true ,
3455 } ,
35- embroiderSafe ( ) ,
3656 {
3757 name : 'ember-classic' ,
3858 env : {
@@ -48,6 +68,11 @@ module.exports = async function() {
4868 } ,
4969 } ,
5070 } ,
51- ] ,
71+ ] ) ;
72+ }
73+
74+ return {
75+ useYarn : true ,
76+ scenarios,
5277 } ;
5378} ;
0 commit comments