Skip to content

Commit c4c5e96

Browse files
build: improve CI build workflow (#89)
- Add workflow runs for all major OSs - Update GitHub actions - Fix caching
1 parent ef2ea7c commit c4c5e96

File tree

1 file changed

+35
-10
lines changed

1 file changed

+35
-10
lines changed

.github/workflows/node.js.yml renamed to .github/workflows/build.yml

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,34 @@
1-
name: SynTest CI
1+
name: build
22

33
on:
44
push:
55
branches: [main]
6+
paths-ignore:
7+
- "docs/"
8+
- "**.md"
69
pull_request:
710
branches: [main]
11+
paths-ignore:
12+
- "docs/"
13+
- "**.md"
814

915
jobs:
10-
build:
11-
runs-on: ubuntu-latest
16+
test:
17+
runs-on: ${{ matrix.os }}
1218

1319
strategy:
20+
# Keep running other versions when a job fails
21+
fail-fast: false
22+
1423
matrix:
15-
# Run the pipeline on all the currently supported LTS versions and the latest version
16-
node-version: [10.x, 12.x, 14.x, 15.x]
24+
# Run the pipeline on all the currently supported OS versions
25+
os: [ubuntu-latest, windows-latest, macos-latest]
26+
27+
# Run the pipeline on all the currently supported LTS versions and the upcoming version
28+
node-version: [10, 12, 14, 16]
29+
30+
# Run the pipeline on all the currently supported architectures
31+
architecture: [x64]
1732

1833
steps:
1934
# Cloning
@@ -28,19 +43,23 @@ jobs:
2843

2944
# Setup
3045
- name: Use Node.js ${{ matrix.node-version }}
31-
uses: actions/setup-node@v1
46+
uses: actions/setup-node@v2
3247
with:
3348
node-version: ${{ matrix.node-version }}
49+
architecture: ${{ matrix.architecture }}
3450

3551
# Caching
52+
- name: Get NPM cache directory
53+
id: npm-cache-dir
54+
run: echo "::set-output name=dir::$(npm config get cache)"
3655
- name: Cache Node.js modules
3756
uses: actions/cache@v2
3857
with:
39-
path: ~/.npm
40-
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
58+
path: ${{ steps.npm-cache-dir.outputs.dir }}
59+
key: ${{ runner.os }}-node-${{ hashFiles('*/package.json') }}
4160
restore-keys: |
42-
${{ runner.OS }}-node-
43-
${{ runner.OS }}-
61+
${{ runner.os }}-node-
62+
${{ runner.os }}-
4463
4564
# SynTest Framework
4665
- name: Framework - Install Dependencies
@@ -49,11 +68,17 @@ jobs:
4968
- name: Framework - Build framework
5069
run: npm run build
5170
working-directory: syntest-framework
71+
- name: Framework - Link
72+
run: npm link
73+
working-directory: syntest-framework
5274

5375
# Dependencies
5476
- name: Solidity - Install Dependencies
5577
run: npm install
5678
working-directory: syntest-solidity
79+
- name: Solidity - Link Local Framework
80+
run: npm link @syntest/framework
81+
working-directory: syntest-solidity
5782

5883
# Building
5984
- name: Solidity - Build Solidity

0 commit comments

Comments
 (0)