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+ console . log ( 'PR!' ) ;
28+ scenarios = scenarios . concat ( [
1829 {
19- name : 'ember-release ' ,
30+ name : 'ember-lts-3.20 ' ,
2031 npm : {
2132 devDependencies : {
22- 'ember-source' : await getChannelURL ( 'release' ) ,
33+ 'ember-source' : '~3.24.0' ,
2334 } ,
2435 } ,
2536 } ,
37+ embroiderSafe ( ) ,
38+ ] ) ;
39+ }
40+
41+ // finally, just to be extra thorough when merging to master and releasing, we add the beta channel and ember
42+ // "classic" (a legacy version which was last current in late 2019)
43+ if (
44+ process . env . GITHUB_EVENT_NAME === 'push' &&
45+ ( process . env . GITHUB_HEAD_REF === 'master' || process . env . GITHUB_HEAD_REF . startsWith ( 'release' ) )
46+ ) {
47+ console . log ( 'master!' ) ;
48+ scenarios = scenarios . concat ( [
2649 {
2750 name : 'ember-beta' ,
2851 npm : {
@@ -32,7 +55,6 @@ module.exports = async function() {
3255 } ,
3356 allowedToFail : true ,
3457 } ,
35- embroiderSafe ( ) ,
3658 {
3759 name : 'ember-classic' ,
3860 env : {
@@ -48,6 +70,11 @@ module.exports = async function() {
4870 } ,
4971 } ,
5072 } ,
51- ] ,
73+ ] ) ;
74+ }
75+
76+ return {
77+ useYarn : true ,
78+ scenarios,
5279 } ;
5380} ;
0 commit comments