Skip to content

Commit fea3c74

Browse files
committed
feat(setup): Minor rewrite
1 parent 316aa51 commit fea3c74

File tree

4 files changed

+3110
-121
lines changed

4 files changed

+3110
-121
lines changed

.circleci/config.yml

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
# Javascript Node CircleCI 2.0 configuration file
2-
#
3-
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
4-
#
51
version: 2
62

73
defaults: &defaults
@@ -10,55 +6,58 @@ defaults: &defaults
106
- image: circleci/node:10
117

128
jobs:
13-
test:
9+
setup:
1410
<<: *defaults
1511
steps:
1612
- checkout
17-
1813
- restore_cache:
14+
name: Restore node modules
1915
keys:
20-
- v1-dependencies-{{ checksum "package.json" }}
21-
# fallback to using the latest cache if no exact match is found
22-
- v1-dependencies-
23-
24-
- run: yarn install
16+
- node_modules-{{ arch }}-{{ checksum "yarn.lock" }}
2517
- run:
26-
name: Run tests
27-
command: yarn test
28-
18+
name: Install dependencies
19+
command: yarn --pure-lockfile
2920
- save_cache:
21+
name: Save node modules
22+
key: node_modules-{{ arch }}-{{ checksum "yarn.lock" }}
3023
paths:
3124
- node_modules
32-
key: v1-dependencies-{{ checksum "package.json" }}
3325

34-
- persist_to_workspace:
35-
root: ~/repo
36-
paths: .
37-
deploy:
26+
tests:
27+
<<: *defaults
28+
steps:
29+
- checkout
30+
- restore_cache:
31+
name: Restore node modules
32+
keys:
33+
- node_modules-{{ arch }}-{{ checksum "yarn.lock" }}
34+
- run:
35+
name: Run Tests
36+
command: yarn test
37+
38+
publish:
3839
<<: *defaults
3940
steps:
40-
- attach_workspace:
41-
at: ~/repo
42-
- run:
43-
name: Authenticate with registry
44-
command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/repo/.npmrc
41+
- checkout
42+
- restore_cache:
43+
name: Restore node modules
44+
keys:
45+
- node_modules-{{ arch }}-{{ checksum "yarn.lock" }}
4546
- run:
46-
name: Publish package
47-
command: yarn publish
47+
name: Publish to NPM
48+
command: yarn run release
4849

4950
workflows:
5051
version: 2
51-
test-deploy:
52+
ci:
5253
jobs:
53-
- test:
54-
filters:
55-
tags:
56-
only: /^v.*/
57-
- deploy:
54+
- setup
55+
- tests:
56+
requires:
57+
- setup
58+
- publish:
5859
requires:
59-
- test
60+
- tests
6061
filters:
61-
tags:
62-
only: /^v.*/
6362
branches:
64-
ignore: /.*/
63+
only: master

.releaserc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"plugins": [
3+
"@semantic-release/commit-analyzer",
4+
"@semantic-release/release-notes-generator",
5+
"@semantic-release/npm",
6+
"@semantic-release/github",
7+
[
8+
"@semantic-release/git",
9+
{
10+
"assets": "package.json",
11+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
12+
}
13+
]
14+
]
15+
}

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"ios"
2020
],
2121
"author": "Mazzarolo Matteo",
22-
"license": "ISC",
22+
"license": "MIT",
2323
"homepage": "https://github.com/mmazzarolo/react-native-modal-datetime-picker",
2424
"repository": {
2525
"type": "git",
@@ -28,17 +28,20 @@
2828
"scripts": {
2929
"lint": "eslint src",
3030
"test": "yarn run lint",
31+
"release": "yarn semantic-release",
3132
"prettier": "prettier --write src/**/*.js"
3233
},
3334
"dependencies": {
3435
"prop-types": "^15.7.2",
3536
"react-native-modal": "^9.0.0"
3637
},
3738
"devDependencies": {
39+
"@semantic-release/git": "^7.0.8",
3840
"eslint": "^5.16.0",
3941
"eslint-plugin-react-app": "^4.0.1",
4042
"prettier": "^1.16.4",
4143
"react": ">=15.0.0",
42-
"react-native": ">=0.24.0"
44+
"react-native": ">=0.24.0",
45+
"semantic-release": "^15.13.3"
4346
}
4447
}

0 commit comments

Comments
 (0)