-
Notifications
You must be signed in to change notification settings - Fork 86
129 lines (119 loc) · 3.5 KB
/
javascript.yml
File metadata and controls
129 lines (119 loc) · 3.5 KB
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
name: Javascript
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
lint_markdown_files:
uses: optimizely/javascript-sdk/.github/workflows/lint_markdown.yml@master
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 16
cache-dependency-path: ./package-lock.json
cache: 'npm'
- name: Run linting
working-directory: .
run: |
npm install
npm run lint
integration_tests:
uses: optimizely/javascript-sdk/.github/workflows/integration_test.yml@master
secrets:
CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }}
fullstack_production_suite:
uses: optimizely/javascript-sdk/.github/workflows/integration_test.yml@master
with:
FULLSTACK_TEST_REPO: ProdTesting
secrets:
CI_USER_TOKEN: ${{ secrets.CI_USER_TOKEN }}
TRAVIS_COM_TOKEN: ${{ secrets.TRAVIS_COM_TOKEN }}
browser_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
browser: ['chrome', 'firefox', 'edge', 'safari']
env:
BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
USE_LOCAL_BROWSER: 'false'
TEST_BROWSER: ${{ matrix.browser }}
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 20
cache: 'npm'
cache-dependency-path: ./package-lock.json
- name: Browser tests - ${{ matrix.browser }}
working-directory: .
run: |
npm install
npm run test-browser
# crossbrowser_and_umd_unit_tests:
# runs-on: ubuntu-latest
# env:
# BROWSER_STACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
# BROWSER_STACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
# steps:
# - uses: actions/checkout@v3
# - name: Set up Node
# uses: actions/setup-node@v3
# with:
# node-version: 16
# cache: 'npm'
# cache-dependency-path: ./package-lock.json
# - name: Cross-browser and umd unit tests
# working-directory: .
# run: |
# npm install
# npm run test-ci
unit_tests:
runs-on: ubuntu-latest
strategy:
matrix:
node: ['18', '20', '22', '24']
steps:
- uses: actions/checkout@v3
- name: Set up Node ${{ matrix.node }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: 'npm'
cache-dependency-path: ./package-lock.json
- name: Unit tests
working-directory: .
run: |
npm install
npm run coveralls
- name: Coveralls Parallel
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: ./coverage/lcov.info
flag-name: run-${{ matrix.node }}
# This is a parallel build so need this
parallel: true
base-path: .
# As testing against multiple versions need this to
# finish the parallel build
finish:
name: Coveralls coverage
needs: unit_tests
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.github_token }}
path-to-lcov: ./coverage/lcov.info
parallel-finished: true
base-path: .