Skip to content

Commit 773c878

Browse files
Switched from Travis CI to GitHub Actions
1 parent fa54cf8 commit 773c878

File tree

2 files changed

+102
-40
lines changed

2 files changed

+102
-40
lines changed

.github/workflows/CI-CD.yaml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# GitHub Actions workflow
2+
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions
3+
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions
4+
# https://help.github.com/en/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions
5+
6+
name: CI-CD
7+
8+
on:
9+
push:
10+
branches:
11+
- "*"
12+
tags-ignore:
13+
- "*"
14+
15+
schedule:
16+
- cron: "0 0 1 * *"
17+
18+
jobs:
19+
test:
20+
name: Node ${{ matrix.node }} on ${{ matrix.os }}
21+
runs-on: ${{ matrix.os }}
22+
timeout-minutes: 10
23+
strategy:
24+
fail-fast: true
25+
matrix:
26+
os:
27+
- ubuntu-latest
28+
- macos-latest
29+
- windows-latest
30+
node:
31+
- 10
32+
- 12
33+
34+
steps:
35+
- name: Checkout source
36+
uses: actions/checkout@v2
37+
38+
- name: Install Node ${{ matrix.node }}
39+
uses: actions/setup-node@v1
40+
with:
41+
node-version: ${{ matrix.node }}
42+
43+
- name: Install dependencies
44+
run: npm ci
45+
46+
- name: Run linters
47+
run: npm run lint
48+
49+
- name: Run tests
50+
run: npm run coverage
51+
52+
- name: Send code coverage results to Coveralls
53+
uses: coverallsapp/github-action@v1.0.1
54+
with:
55+
github-token: ${{ secrets.GITHUB_TOKEN }}
56+
parallel: true
57+
58+
coverage:
59+
name: Code Coverage
60+
runs-on: ubuntu-latest
61+
timeout-minutes: 10
62+
needs: test
63+
steps:
64+
- name: Let Coveralls know that all tests have finished
65+
uses: coverallsapp/github-action@v1.0.1
66+
with:
67+
github-token: ${{ secrets.GITHUB_TOKEN }}
68+
parallel-finished: true
69+
70+
deploy:
71+
name: Publish to NPM
72+
if: github.ref == 'refs/heads/master'
73+
runs-on: ubuntu-latest
74+
timeout-minutes: 10
75+
needs: test
76+
77+
steps:
78+
- name: Checkout source
79+
uses: actions/checkout@v2
80+
81+
- name: Install Node
82+
uses: actions/setup-node@v1
83+
84+
- name: Install dependencies
85+
run: npm ci
86+
87+
- name: Publish to NPM
88+
uses: JS-DevTools/npm-publish@v1
89+
with:
90+
token: ${{ secrets.NPM_TOKEN }}
91+
92+
- name: Prepare the non-scoped packaged
93+
run: |
94+
cp LICENSE *.md dist
95+
VERSION=$(node -e "console.log(require('./package.json').version)")
96+
sed -i "s/X.X.X/${VERSION}/g" dist/package.json
97+
98+
- name: Publish the non-scoped package to NPM
99+
uses: JS-DevTools/npm-publish@v1
100+
with:
101+
token: ${{ secrets.NPM_TOKEN }}
102+
package: dist/package.json

.travis.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)