-
Notifications
You must be signed in to change notification settings - Fork 2.4k
140 lines (125 loc) · 3.64 KB
/
usage.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
name: Package usage
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
- name: npm install and build
run: |
npm install
npm run build
- name: Store build-output for later
uses: actions/upload-artifact@v2
with:
name: build-output
path: |
mustache.js
mustache.mjs
package:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 14.x
- name: Get build-output from build step
uses: actions/download-artifact@v2
with:
name: build-output
- name: Create package tarball
run: |
export ARCHIVE_FILENAME=$(npm pack | tail -n 1)
mv $ARCHIVE_FILENAME mustache.tgz
- name: Store package tarball for later
uses: actions/upload-artifact@v2
with:
name: package-output
path: mustache.tgz
common-js-usage:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x, 14.x, 15.x]
needs: package
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Get package tarball from package step
uses: actions/download-artifact@v2
with:
name: package-output
- name: Package, install and test
run: |
export UNPACK_DESTINATION=$(mktemp -d)
mv mustache.tgz $UNPACK_DESTINATION
cp test/module-systems/commonjs-test.js $UNPACK_DESTINATION
cd $UNPACK_DESTINATION
npm install mustache.tgz
node commonjs-test.js
esm-usage:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x, 15.x]
needs: package
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Get package tarball from package step
uses: actions/download-artifact@v2
with:
name: package-output
- name: Package, install and test
run: |
export UNPACK_DESTINATION=$(mktemp -d)
mv mustache.tgz $UNPACK_DESTINATION
cp test/module-systems/esm-test.mjs $UNPACK_DESTINATION
cp test/module-systems/esm-test-exports.mjs $UNPACK_DESTINATION
cd $UNPACK_DESTINATION
npm install mustache.tgz
node esm-test.mjs
node esm-test-exports.mjs
browser-usage:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v1
- name: Setup Node.js
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Get build-output from build step
uses: actions/download-artifact@v2
with:
name: build-output
- name: Install and test
run: |
npm ci
npx mocha test/module-systems/browser-test.js
deno-usage:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v1
- uses: denolib/setup-deno@master
with:
deno-version: 'v1.0.0'
- name: Get build-output from build step
uses: actions/download-artifact@v2
with:
name: build-output
- run: deno --version
- run: deno test --allow-net=deno.land test/module-systems/deno-test.ts