-
Notifications
You must be signed in to change notification settings - Fork 9
141 lines (129 loc) · 3.65 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: CI
on:
push:
branches:
- main
- master
pull_request: {}
concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
test:
name: "Tests"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: pnpm
- name: Install Dependencies
run: pnpm install --frozen-lockfile
# This has been really annoying
# due to injected dependencies :(
- name: 'Re-sync injected dependencies'
run: pnpm install --frozen-lockfile --force
- name: Lint
run: pnpm lint
- name: Run Tests
run: pnpm test:ember
floating:
name: "Floating Dependencies"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
cache: pnpm
- name: Remove lock file
shell: bash
run: rm pnpm-lock.yaml
- name: Install Dependencies
run: pnpm install
# This has been really annoying
# due to injected dependencies :(
- name: 'Re-sync injected dependencies'
run: pnpm install --force
- name: Run Tests
run: pnpm test:ember
try-scenarios:
name: ${{ matrix.try-scenario }}
runs-on: ubuntu-latest
needs: 'test'
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
try-scenario:
- ember-lts-3.28
- ember-lts-4.4
- ember-lts-4.8
- ember-lts-4.12
- ember-lts-5.4
- ember-lts-5.8
- ember-lts-5.12
- ember-release
- ember-classic
- ember-default-with-jquery
- embroider-safe
- embroider-optimized
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: pnpm
- name: Install Dependencies
run: pnpm install --frozen-lockfile
# This has been really annoying
# due to injected dependencies :(
- name: 'Re-sync injected dependencies'
run: pnpm install --frozen-lockfile --force
- name: Run Tests
run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }}
working-directory: test-app
allowed-fail-try-scenarios:
name: ${{ matrix.try-scenario }} - Allowed to fail
runs-on: ubuntu-latest
needs: 'test'
permissions:
pull-requests: write
strategy:
fail-fast: false
matrix:
try-scenario:
- ember-beta
- ember-canary
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: pnpm
- name: Install Dependencies
run: pnpm install --frozen-lockfile
# This has been really annoying
# due to injected dependencies :(
- name: 'Re-sync injected dependencies'
run: pnpm install --frozen-lockfile --force
- name: Run Tests
id: tests
run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }}
continue-on-error: true
working-directory: test-app
- uses: mainmatter/continue-on-error-comment@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
outcome: ${{ steps.tests.outcome }}
test-id: ${{ matrix.try-scenario }}