Skip to content

Commit 9944407

Browse files
authored
Introduce GH Actions part 1 (#179)
* fix: fix line break * fix: cache node_modules * fix: no multiple ifs and runs * fix: cache each node_modules in different place * fix: caches as steps not jobs * fix: rearange lines * fix: one more time * fix: test job * load node_modules for test job * fix: no circle * fix: test and build as one gh action job * fix: lnt step * chore: update Readme * fix: separate jobs * fix: delete dead code * fix: clean Readme
1 parent 5fc749b commit 9944407

File tree

3 files changed

+63
-143
lines changed

3 files changed

+63
-143
lines changed

.circleci/config.yml

-128
This file was deleted.

.github/workflows/main.yml

+62-12
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,76 @@ on:
77
branches: [ master ]
88

99
jobs:
10-
build-and-test:
10+
build:
11+
name: Build
1112
runs-on: ubuntu-latest
1213

1314
steps:
1415
- name: checkout
1516
uses: actions/checkout@v2
1617

17-
# - name: Cache node modules
18-
# uses: actions/cache@v1
19-
# id: cache
20-
# with:
21-
# path: node_modules
22-
# key: node-modules-${{ hashFiles('**/yarn.lock') }}
18+
- name: Cache node modules
19+
uses: actions/cache@v1
20+
id: cache
21+
with:
22+
path: node_modules
23+
key: node-modules-${{ hashFiles('yarn.lock') }}
2324

2425
- name: Instal dependencies
25-
# if: steps.cache.outputs.cache-hit != 'true'
26-
run: |
27-
yarn install --frozen-lockfile
28-
yarn install --frozen-lockfile --cwd ./website
29-
yarn install --frozen-lockfile --cwd ./example
26+
if: steps.cache.outputs.cache-hit != 'true'
27+
run: yarn install --frozen-lockfile
28+
29+
- name: Cache node modules @ example
30+
uses: actions/cache@v1
31+
id: cache-example
32+
with:
33+
path: ./example/node_modules
34+
key: node-modules-example--${{ hashFiles('example/yarn.lock') }}
35+
36+
- name: Instal dependencies @ example
37+
if: steps.cache-example.outputs.cache-hit != 'true'
38+
run: yarn install --frozen-lockfile --cwd ./example
39+
40+
- name: Cache node modules @ website
41+
uses: actions/cache@v1
42+
id: cache-website
43+
with:
44+
path: ./website/node_modules
45+
key: node-modules-website-${{ hashFiles('website/yarn.lock') }}
46+
47+
- name: Instal dependencies @ website
48+
if: steps.cache-website.outputs.cache-hit != 'true'
49+
run: yarn install --frozen-lockfile --cwd ./website
50+
51+
test:
52+
needs: build
53+
name: Run tests
54+
runs-on: ubuntu-latest
55+
56+
steps:
57+
- name: checkout
58+
uses: actions/checkout@v2
59+
60+
- name: Cache node modules
61+
uses: actions/cache@v1
62+
id: cache
63+
with:
64+
path: node_modules
65+
key: node-modules-${{ hashFiles('yarn.lock') }}
66+
67+
- name: Cache node modules @ website
68+
uses: actions/cache@v1
69+
id: cache-website
70+
with:
71+
path: ./website/node_modules
72+
key: node-modules-website-${{ hashFiles('website/yarn.lock') }}
73+
74+
- name: Cache node modules @ example
75+
uses: actions/cache@v1
76+
id: cache-example
77+
with:
78+
path: ./example/node_modules
79+
key: node-modules-example--${{ hashFiles('example/yarn.lock') }}
3080

3181
- name: Run tests
3282
run: |

README.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
---
1010

11-
[![Build Status][build-badge]][build]
11+
![Build and test](https://github.com/callstack/react-native-ios-kit/workflows/Build%20and%20test/badge.svg)
1212
[![Version][version-badge]][package]
1313
[![MIT License][license-badge]][license]
1414

@@ -134,8 +134,6 @@ Read the [contribution guidelines](/CONTRIBUTING.md) before contributing.
134134

135135
<!-- badges -->
136136

137-
[build-badge]: https://img.shields.io/circleci/project/github/callstack/react-native-ios-kit/master.svg?style=flat-square
138-
[build]: https://circleci.com/gh/callstack/react-native-ios-kit
139137
[version-badge]: https://img.shields.io/npm/v/react-native-ios-kit.svg?style=flat-square
140138
[package]: https://www.npmjs.com/package/react-native-ios-kit
141139
[license-badge]: https://img.shields.io/npm/l/react-native-ios-kit.svg?style=flat-square

0 commit comments

Comments
 (0)