Skip to content

Commit 8bc628d

Browse files
Switched from Travis CI to GitHub Actions
1 parent b9980e1 commit 8bc628d

File tree

2 files changed

+105
-43
lines changed

2 files changed

+105
-43
lines changed

.github/workflows/CI-CD.yaml

+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
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 TypeScript tests
50+
run: npm run test:typescript
51+
52+
- name: Run JavaScript tests
53+
run: npm run coverage
54+
55+
- name: Send code coverage results to Coveralls
56+
uses: coverallsapp/[email protected]
57+
with:
58+
github-token: ${{ secrets.GITHUB_TOKEN }}
59+
parallel: true
60+
61+
coverage:
62+
name: Code Coverage
63+
runs-on: ubuntu-latest
64+
timeout-minutes: 10
65+
needs: test
66+
steps:
67+
- name: Let Coveralls know that all tests have finished
68+
uses: coverallsapp/[email protected]
69+
with:
70+
github-token: ${{ secrets.GITHUB_TOKEN }}
71+
parallel-finished: true
72+
73+
deploy:
74+
name: Publish to NPM
75+
if: github.ref == 'refs/heads/master'
76+
runs-on: ubuntu-latest
77+
timeout-minutes: 10
78+
needs: test
79+
80+
steps:
81+
- name: Checkout source
82+
uses: actions/checkout@v2
83+
84+
- name: Install Node
85+
uses: actions/setup-node@v1
86+
87+
- name: Install dependencies
88+
run: npm ci
89+
90+
- name: Publish to NPM
91+
uses: JS-DevTools/npm-publish@v1
92+
with:
93+
token: ${{ secrets.NPM_TOKEN }}
94+
95+
- name: Prepare the non-scoped packaged
96+
run: |
97+
cp LICENSE *.md dist
98+
VERSION=$(node -e "console.log(require('./package.json').version)")
99+
sed -i "s/X.X.X/${VERSION}/g" dist/package.json
100+
101+
- name: Publish the non-scoped package to NPM
102+
uses: JS-DevTools/npm-publish@v1
103+
with:
104+
token: ${{ secrets.NPM_TOKEN }}
105+
package: dist/package.json

.travis.yml

-43
This file was deleted.

0 commit comments

Comments
 (0)