Skip to content

Commit fafcf63

Browse files
committed
fix: ci workflows
1 parent 9334d6c commit fafcf63

2 files changed

Lines changed: 112 additions & 19 deletions

File tree

.github/workflows/ci.yml

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ jobs:
1616
name: "Tests"
1717
runs-on: ubuntu-latest
1818
timeout-minutes: 10
19+
outputs:
20+
matrix: ${{ steps.set-matrix.outputs.matrix }}
1921

2022
steps:
2123
- uses: actions/checkout@v4
@@ -32,7 +34,9 @@ jobs:
3234
- name: Lint
3335
run: pnpm lint
3436
- name: Run Tests
35-
run: pnpm test:ember
37+
run: pnpm test
38+
- id: set-matrix
39+
run: echo "matrix=$(pnpm -s dlx @embroider/try list)" >> $GITHUB_OUTPUT
3640

3741
floating:
3842
name: "Floating Dependencies"
@@ -50,40 +54,33 @@ jobs:
5054
cache: pnpm
5155
- name: Install Dependencies
5256
run: pnpm install --no-lockfile
57+
- name: Build
58+
run: pnpm build
5359
- name: Run Tests
54-
run: pnpm test:ember
60+
run: pnpm test
5561

5662
try-scenarios:
57-
name: ${{ matrix.try-scenario }}
63+
name: ${{ matrix.name }}
5864
runs-on: ubuntu-latest
5965
needs: "test"
6066
timeout-minutes: 10
61-
6267
strategy:
6368
fail-fast: false
64-
matrix:
65-
try-scenario:
66-
- ember-lts-4.12
67-
- ember-lts-5.4
68-
- ember-lts-5.8
69-
- ember-lts-5.12
70-
- ember-release
71-
- ember-beta
72-
- ember-canary
73-
- embroider-safe
74-
- embroider-optimized
69+
matrix: ${{fromJson(needs.test.outputs.matrix)}}
7570

7671
steps:
7772
- uses: actions/checkout@v4
7873
- uses: pnpm/action-setup@v4
7974
with:
8075
version: 10
81-
- name: Install Node
82-
uses: actions/setup-node@v4
76+
- uses: actions/setup-node@v4
8377
with:
8478
node-version: 20
8579
cache: pnpm
80+
- name: Apply Scenario
81+
run: pnpm dlx @embroider/try apply ${{ matrix.name }}
8682
- name: Install Dependencies
87-
run: pnpm install --frozen-lockfile
83+
run: pnpm install --no-lockfile
8884
- name: Run Tests
89-
run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }}
85+
run: pnpm test
86+
env: ${{ matrix.env }}

.try.mjs

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
// When building your addon for older Ember versions you need to have the required files
2+
const compatFiles = {
3+
'ember-cli-build.cjs': `const EmberApp = require('ember-cli/lib/broccoli/ember-app');
4+
const { compatBuild } = require('@embroider/compat');
5+
module.exports = async function (defaults) {
6+
const { buildOnce } = await import('@embroider/vite');
7+
let app = new EmberApp(defaults);
8+
return compatBuild(app, buildOnce);
9+
};`,
10+
'config/optional-features.json': JSON.stringify({
11+
'application-template-wrapper': false,
12+
'default-async-observers': true,
13+
'jquery-integration': false,
14+
'template-only-glimmer-components': true,
15+
'no-implicit-route-model': true,
16+
}),
17+
};
18+
19+
const compatDeps = {
20+
'@embroider/compat': '^4.0.3',
21+
'ember-cli': '^5.12.0',
22+
'ember-auto-import': '^2.10.0',
23+
'@ember/optional-features': '^2.2.0',
24+
};
25+
26+
export default {
27+
packageManager: 'pnpm',
28+
scenarios: [
29+
{
30+
name: 'ember-lts-5.8',
31+
npm: {
32+
devDependencies: {
33+
'ember-source': '~5.8.0',
34+
...compatDeps,
35+
},
36+
},
37+
env: {
38+
ENABLE_COMPAT_BUILD: true,
39+
},
40+
files: compatFiles,
41+
},
42+
{
43+
name: 'ember-lts-5.12',
44+
npm: {
45+
devDependencies: {
46+
'ember-source': '~5.12.0',
47+
...compatDeps,
48+
},
49+
},
50+
env: {
51+
ENABLE_COMPAT_BUILD: true,
52+
},
53+
files: compatFiles,
54+
},
55+
{
56+
name: 'ember-lts-6.4',
57+
npm: {
58+
devDependencies: {
59+
'ember-source': 'npm:ember-source@~6.4.0',
60+
},
61+
},
62+
},
63+
{
64+
name: 'ember-lts-6.12',
65+
npm: {
66+
devDependencies: {
67+
'ember-source': 'npm:ember-source@~6.4.0',
68+
},
69+
},
70+
},
71+
{
72+
name: 'ember-latest',
73+
npm: {
74+
devDependencies: {
75+
'ember-source': 'npm:ember-source@latest',
76+
},
77+
},
78+
},
79+
{
80+
name: 'ember-beta',
81+
npm: {
82+
devDependencies: {
83+
'ember-source': 'npm:ember-source@beta',
84+
},
85+
},
86+
},
87+
{
88+
name: 'ember-alpha',
89+
npm: {
90+
devDependencies: {
91+
'ember-source': 'npm:ember-source@alpha',
92+
},
93+
},
94+
},
95+
],
96+
};

0 commit comments

Comments
 (0)