Skip to content

Commit 616b839

Browse files
committed
Add release script
1 parent 40f49a7 commit 616b839

File tree

3 files changed

+55
-2
lines changed

3 files changed

+55
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ node_modules/
22
build/
33
release/
44
npm-debug.log
5+
.env

dev-env/release

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
set -e
3+
export $(cat .env | xargs)
4+
5+
if [ $# -eq 0 ]
6+
then
7+
echo "Please provide a release type."
8+
exit 1
9+
fi
10+
11+
release_type=$1
12+
branch=$(git rev-parse --abbrev-ref HEAD)
13+
14+
if [ "$branch" != "master" ]
15+
then
16+
echo "Will not release from a branch other than master"
17+
exit 1
18+
fi
19+
20+
echo "Creating a new version..."
21+
npm version $release_type
22+
echo "Pushing new version and master to origin..."
23+
git push origin master
24+
git push --tags
25+
echo "Building extension..."
26+
npm run build
27+
echo "Creating a new release..."
28+
tag=$(git describe)
29+
./node_modules/publish-release/bin/publish-release --token $GITHUB_TOKEN \
30+
--owner jessepollak \
31+
--repo command \
32+
--tag $tag \
33+
--name $tag \
34+
echo "Release published!"
35+
36+
echo "Adding latest build to Github pages"
37+
38+
cp "$(pwd)/release/build/content/index.js" /tmp/
39+
git checkout gh-pages
40+
cp /tmp/index.js ./source/javascripts/
41+
git add ./source/javascripts/index.js
42+
git commit -m "add release JS for $tag"
43+
rake publish
44+
git checkout master
45+
46+
echo "Finished!"

package.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
"scripts": {
77
"start": "npm run dev",
88
"dev": "NODE_ENV=development ./node_modules/.bin/babel-node ./dev-env/dev.js",
9-
"build": "NODE_ENV=production ./node_modules/.bin/babel-node ./dev-env/build.js"
9+
"build": "NODE_ENV=production ./node_modules/.bin/babel-node ./dev-env/build.js",
10+
"release": "NODE_ENV=production ./dev-env/release"
1011
},
1112
"keywords": [],
1213
"jshintConfig": {
@@ -40,17 +41,22 @@
4041
"chokidar": "1.4.2",
4142
"cli-color": "1.1.0",
4243
"css-loader": "0.23.1",
44+
"dotenv": "^2.0.0",
4345
"express": "4.13.4",
4446
"file-loader": "0.8.5",
4547
"fs-extra": "0.26.5",
48+
"git-rev": "^0.2.1",
4649
"imports-loader": "^0.6.5",
4750
"jshint-jsx": "^0.4.1",
4851
"json-loader": "0.5.4",
4952
"node-sass": "^3.4.2",
53+
"publish-release": "^1.2.0",
5054
"sass-loader": "^3.1.2",
55+
"shelljs": "^0.6.0",
5156
"style-loader": "0.13.0",
5257
"url-loader": "0.5.7",
5358
"webpack": "^1.12.13",
54-
"webpack-dev-server": "^1.12.1"
59+
"webpack-dev-server": "^1.12.1",
60+
"yargs": "^4.2.0"
5561
}
5662
}

0 commit comments

Comments
 (0)