-
Notifications
You must be signed in to change notification settings - Fork 0
141 lines (120 loc) · 3.12 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
# GitHub Actions documentation:
# https://docs.github.com/en/actions
name: CI
on:
push:
branches:
- master
pull_request: {}
jobs:
lint-tests:
name: Lint and tests
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version: 16
# https://github.com/lirantal/lockfile-lint
- name: Lint lockfile
run: npx lockfile-lint --path yarn.lock --allowed-hosts npm yarn --validate-https
- name: Install Dependencies
run: yarn install --frozen-lockfile
- name: Lint Addon
run: yarn lint
working-directory: ember-slugify
- name: Lint Test App
run: yarn lint
working-directory: test-app
- name: Build Addon
run: yarn build
- name: Run Tests
run: yarn test:ember
floating:
name: Floating Dependencies
needs: lint-tests
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version: 16
- name: Install Dependencies
run: yarn install --frozen-lockfile
- name: Build Addon
run: yarn build
- name: Run Tests
run: yarn test:ember
working-directory: test-app
try-scenarios:
name: ${{ matrix.try-scenario }}
needs: lint-tests
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
try-scenario:
- ember-lts-3.28
- ember-lts-4.4
- ember-release
# - ember-beta
# - ember-canary
- ember-classic
- embroider-safe
- embroider-optimized
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
cache: yarn
node-version: 16
- name: Install Dependencies
run: yarn install --frozen-lockfile
- name: Build Addon
run: yarn build
- name: Run Tests
run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }}
working-directory: test-app
concurrency:
group: ci-${{ github.head_ref || github.ref }}
cancel-in-progress: true
# To reuse when the shared workflow will be migrated to V2 Addons structure
# name: CI
#
# on:
# push:
# branches:
# - master
# pull_request: {}
#
# concurrency:
# group: ci-${{ github.head_ref || github.ref }}
# cancel-in-progress: true
#
# jobs:
# org:
# uses: DazzlingFugu/.github/.github/workflows/js--emberjs-addons.yml@master
# with:
# node-version: 16
# package-manager: yarn
# ember-try-scenarios: "[
# 'ember-lts-3.28',
# 'ember-lts-4.4',
# 'ember-release',
# 'ember-beta',
# 'ember-canary',
# 'ember-classic',
# 'embroider-safe',
# 'embroider-optimized',
# ]"