-
Notifications
You must be signed in to change notification settings - Fork 159
127 lines (124 loc) · 3.3 KB
/
test-e2e.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
name: Tests E2E
on:
workflow_dispatch:
push:
branches:
- 'master'
pull_request:
types: [ opened, reopened ]
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
e2e:
if: ${{ github.actor != 'dependabot[bot]' }}
strategy:
fail-fast: false
matrix:
platform: [ ubuntu-latest, macos-latest ]
nodejs: [ 16 ]
contract: [ js, rust ]
frontend: [ react, vanilla, none ]
tests: [ js, rust ]
# exclude:
# - frontend: vanilla
# - frontend: none
# include:
# - contract: js
# frontend: vanilla
# tests: js
# - contract: js
# frontend: none
# tests: js
runs-on: ${{ matrix.platform }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: ${{ matrix.nodejs }}
- name: Prepare
run: |
mkdir -p ~/.near-config
echo "{\"trackingEnabled\": false,\"trackingAccountID\": false}" >| ~/.near-config/settings.json
- name: Install modules
run: |
npm install
npm run build
- name: Scaffold template
run: |
node index.js _testrun --contract ${{ matrix.contract }} --frontend ${{ matrix.frontend }} --tests ${{ matrix.tests }} --install
- name: Build template
env:
NEAR_ENV: ci
IS_GITHUB_ACTION: true
run: |
cd _testrun
npm run build
# - name: Deploy template
# env:
# NEAR_ENV: ci
# IS_GITHUB_ACTION: true
# run: |
# cd _testrun
# npm run deploy
- name: Test template
env:
NEAR_ENV: ci
IS_GITHUB_ACTION: true
run: |
cd _testrun
npm run test
# tests-wsl:
# defaults:
# run:
# shell: wsl-bash {0}
# strategy:
# fail-fast: false
# matrix:
# platform: [ windows-latest ]
# nodejs: [ 16 ]
# contract: [ js, rust ]
# frontend: [ react, vanilla, none ]
# tests: [ js, rust ]
# exclude:
# - contract: js
# - tests: js
# runs-on: ${{ matrix.platform }}
# timeout-minutes: 60
# steps:
# - name: Setup WSL
# uses: Vampire/[email protected]
# with:
# distribution: Ubuntu-22.04
# - uses: actions/checkout@v2
# - name: Setup node
# run: |
# sudo apt-get install curl
# curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
# sudo apt-get install -y nodejs
# - name: rust-toolchain
# uses: actions-rs/[email protected]
# with:
# toolchain: stable
# - name: Install modules
# run: |
# npm install
# npm run build
# - name: Scaffold template
# run: |
# node index.js _testrun --contract ${{ matrix.contract }} --frontend ${{ matrix.frontend }} --tests ${{ matrix.tests }} --install
# - name: Build template
# env:
# NEAR_ENV: ci
# IS_GITHUB_ACTION: true
# run: |
# cd _testrun
# npm run build
# - name: Test template
# env:
# NEAR_ENV: ci
# IS_GITHUB_ACTION: true
# run: |
# cd _testrun
# npm run test