Skip to content
This repository was archived by the owner on Mar 9, 2023. It is now read-only.

Commit f2d1dd4

Browse files
kingsleyzissouwtrocki
authored andcommitted
feat: add github actions
1 parent a3ab8c9 commit f2d1dd4

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed

.github/workflows/ci.yml

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: UniformsCI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
paths-ignore:
8+
- '*.md'
9+
- 'docs/**'
10+
- '.gitignore'
11+
- 'website/**'
12+
- '.vscode/**'
13+
- 'templates/**'
14+
- '.github/*.yml'
15+
- 'performance/**'
16+
- 'packages/**/*md'
17+
- '.github/ISSUE_TEMPLATE/**'
18+
- '.github/workflows/build-website.yml'
19+
20+
pull_request:
21+
types: [opened, synchronize, reopened, ready_for_review]
22+
branches:
23+
- master
24+
paths-ignore:
25+
- '*.md'
26+
- 'docs/**'
27+
- '.vscode/**'
28+
- 'website/**'
29+
- '.gitignore'
30+
- 'templates/**'
31+
- '.github/*.yml'
32+
- 'performance/**'
33+
- 'packages/**/*md'
34+
- '.github/ISSUE_TEMPLATE/**'
35+
- '.github/workflows/build-website.yml'
36+
37+
release:
38+
types: [released, prereleased]
39+
40+
env:
41+
NODE_OPTIONS: --max_old_space_size=4096
42+
43+
jobs:
44+
build:
45+
runs-on: ubuntu-latest
46+
timeout-minutes: 60
47+
steps:
48+
- name: Checkout master
49+
uses: actions/checkout@v2
50+
- name: Use Node.js
51+
uses: actions/setup-node@v1
52+
with:
53+
node-version: 12.x
54+
- name: Cache Dependencies
55+
id: cache-dependencies
56+
uses: actions/cache@master
57+
with:
58+
path: |
59+
node_modules
60+
*/*/node_modules
61+
key: ${{ runner.os }}-${{ hashFiles('**/package.json') }}
62+
- name: Install dependencies
63+
if: steps.cache-dependencies.outputs.cache-hit != 'true'
64+
run: yarn
65+
- name: Build
66+
run: yarn build
67+
- name: Lint
68+
run: yarn lint
69+
- name: Unit Test
70+
run: yarn test
71+
72+
publishPackages:
73+
# publish to npm only when doing the release
74+
if: ${{ github.event_name == 'release' }}
75+
env:
76+
CI: true
77+
runs-on: ubuntu-latest
78+
needs: build
79+
steps:
80+
- name: Checkout master
81+
uses: actions/checkout@v2
82+
- name: Use Node.js
83+
uses: actions/setup-node@v1
84+
with:
85+
node-version: 12.x
86+
- name: Cache Dependencies
87+
id: cache-dependencies
88+
uses: actions/cache@master
89+
with:
90+
path: |
91+
node_modules
92+
*/*/node_modules
93+
key: ${{ runner.os }}-${{ hashFiles('**/package.json') }}
94+
- name: Build
95+
run: yarn build
96+
- name: Publish
97+
run: echo "//registry.npmjs.org/:_authToken=${{secrets.NPM_AUTH_TOKEN}}" > ~/.npmrc && TAG=${GITHUB_REF#"refs/tags/"} npm run release:publish

0 commit comments

Comments
 (0)