mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-29 05:15:38 +08:00
chore(build): automate cutting a release, publishing to bower and to code.angular.js
This commit is contained in:
@@ -1,23 +1,18 @@
|
||||
# Angular Bower Script
|
||||
|
||||
Script for updating the Angular bower repos from a code.angularjs.org package
|
||||
Script for updating the Angular bower repos from current local build.
|
||||
|
||||
Requires `node` (for parsing `bower.json`) and `wget` (for fetching the `angular.zip` from `code.angularjs.org`)
|
||||
Requires `node` (for parsing `bower.json`)
|
||||
|
||||
|
||||
## Instructions
|
||||
|
||||
You need to run `./init.sh` the first time you use this script to clone all the repos.
|
||||
|
||||
For subsequent updates:
|
||||
`grunt package`: Build angular locally
|
||||
|
||||
```shell
|
||||
./publish.sh NEW_VERSION
|
||||
./publish.sh
|
||||
```
|
||||
|
||||
Where `NEW_VERSION` is a version number like `1.2.3`.
|
||||
|
||||
|
||||
## License
|
||||
MIT
|
||||
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# init all of the bower repos
|
||||
#
|
||||
|
||||
set -e # fail if any command fails
|
||||
|
||||
REPOS=(
|
||||
angular \
|
||||
angular-animate \
|
||||
angular-cookies \
|
||||
angular-i18n \
|
||||
angular-loader \
|
||||
angular-mocks \
|
||||
angular-route \
|
||||
angular-resource \
|
||||
angular-sanitize \
|
||||
angular-scenario \
|
||||
angular-touch \
|
||||
)
|
||||
|
||||
cd `dirname $0`
|
||||
|
||||
for repo in "${REPOS[@]}"
|
||||
do
|
||||
git clone git@github.com:angular/bower-$repo.git
|
||||
done
|
||||
@@ -7,12 +7,13 @@
|
||||
set -e # fail if any command fails
|
||||
|
||||
cd `dirname $0`
|
||||
SCRIPT_DIR=`pwd`
|
||||
|
||||
NEW_VERSION=$1
|
||||
export TMP_DIR=../../tmp
|
||||
|
||||
ZIP_FILE=angular-$NEW_VERSION.zip
|
||||
ZIP_FILE_URL=http://code.angularjs.org/$NEW_VERSION/angular-$NEW_VERSION.zip
|
||||
ZIP_DIR=angular-$NEW_VERSION
|
||||
export BUILD_DIR=../../build
|
||||
|
||||
NEW_VERSION=$(node -e "console.log(require(process.env.BUILD_DIR+'/version.json').full)" | sed -e 's/\r//g')
|
||||
|
||||
REPOS=(
|
||||
angular \
|
||||
@@ -28,47 +29,45 @@ REPOS=(
|
||||
angular-touch \
|
||||
)
|
||||
|
||||
|
||||
#
|
||||
# download and unzip the file
|
||||
# clone repos
|
||||
#
|
||||
|
||||
if [ ! -f $ZIP_FILE ]; then
|
||||
wget $ZIP_FILE_URL
|
||||
unzip $ZIP_FILE
|
||||
fi
|
||||
for repo in "${REPOS[@]}"
|
||||
do
|
||||
git clone git@github.com:angular/bower-$repo.git $TMP_DIR/bower-$repo
|
||||
done
|
||||
|
||||
|
||||
#
|
||||
# move the files from the zip
|
||||
# move the files from the build
|
||||
#
|
||||
|
||||
for repo in "${REPOS[@]}"
|
||||
do
|
||||
if [ -f $ZIP_DIR/$repo.js ] # ignore i18l
|
||||
if [ -f $BUILD_DIR/$repo.js ] # ignore i18l
|
||||
then
|
||||
cd bower-$repo
|
||||
cd $TMP_DIR/bower-$repo
|
||||
git reset --hard HEAD
|
||||
git checkout master
|
||||
git fetch --all
|
||||
git reset --hard origin/master
|
||||
cd ..
|
||||
mv $ZIP_DIR/$repo.* bower-$repo/
|
||||
cd $SCRIPT_DIR
|
||||
cp $BUILD_DIR/$repo.* $TMP_DIR/bower-$repo/
|
||||
fi
|
||||
done
|
||||
|
||||
# move i18n files
|
||||
mv $ZIP_DIR/i18n/*.js bower-angular-i18n/
|
||||
cp $BUILD_DIR/i18n/*.js $TMP_DIR/bower-angular-i18n/
|
||||
|
||||
# move csp.css
|
||||
mv $ZIP_DIR/angular-csp.css bower-angular
|
||||
cp $BUILD_DIR/angular-csp.css $TMP_DIR/bower-angular
|
||||
|
||||
|
||||
#
|
||||
# get the old version number
|
||||
#
|
||||
|
||||
OLD_VERSION=$(node -e "console.log(require('./bower-angular/bower').version)" | sed -e 's/\r//g')
|
||||
OLD_VERSION=$(node -e "console.log(require(process.env.TMP_DIR+'/bower-angular/bower').version)" | sed -e 's/\r//g')
|
||||
echo $OLD_VERSION
|
||||
echo $NEW_VERSION
|
||||
|
||||
@@ -79,12 +78,12 @@ echo $NEW_VERSION
|
||||
|
||||
for repo in "${REPOS[@]}"
|
||||
do
|
||||
cd bower-$repo
|
||||
cd $TMP_DIR/bower-$repo
|
||||
sed -i '' -e "s/$OLD_VERSION/$NEW_VERSION/g" bower.json
|
||||
git add -A
|
||||
git commit -m "v$NEW_VERSION"
|
||||
git tag v$NEW_VERSION
|
||||
git push origin master
|
||||
git push origin v$NEW_VERSION
|
||||
cd ..
|
||||
# TODO git push origin master
|
||||
# TODO git push origin v$NEW_VERSION
|
||||
cd $SCRIPT_DIR
|
||||
done
|
||||
|
||||
19
scripts/code.angularjs.org/README.md
Normal file
19
scripts/code.angularjs.org/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# code.angular.js.org Script
|
||||
|
||||
Script for updating code.angularjs.org repo from current local build.
|
||||
|
||||
Requires `node` (for parsing `bower.json`)
|
||||
|
||||
Note: This should only be run for a release build, not a snapshot build!
|
||||
|
||||
## Instructions
|
||||
|
||||
`grunt package`: Build angular locally
|
||||
|
||||
```shell
|
||||
./publish.sh
|
||||
```
|
||||
|
||||
## License
|
||||
MIT
|
||||
|
||||
57
scripts/code.angularjs.org/publish.sh
Executable file
57
scripts/code.angularjs.org/publish.sh
Executable file
@@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# update all the things
|
||||
#
|
||||
|
||||
set -e # fail if any command fails
|
||||
|
||||
cd `dirname $0`
|
||||
SCRIPT_DIR=`pwd`
|
||||
|
||||
export TMP_DIR=../../tmp
|
||||
export REPO_DIR=$TMP_DIR/code.angularjs.org
|
||||
|
||||
export BUILD_DIR=../../build
|
||||
|
||||
NEW_VERSION=$(node -e "console.log(require(process.env.BUILD_DIR+'/version.json').full)" | sed -e 's/\r//g')
|
||||
|
||||
#
|
||||
# Don't publish snapshot builds!
|
||||
#
|
||||
if [[ "$NEW_VERSION" =~ sha ]] ;then
|
||||
echo "publish to code.angularjs.org is not allowed for snapshot builds"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
exit 2
|
||||
|
||||
#
|
||||
# clone
|
||||
#
|
||||
|
||||
git clone git@github.com:angular/code.angularjs.org.git $REPO_DIR
|
||||
|
||||
#
|
||||
# copy the files from the build
|
||||
#
|
||||
|
||||
mkdir $REPO_DIR/$NEW_VERSION
|
||||
|
||||
cd $REPO_DIR
|
||||
git reset --hard HEAD
|
||||
git checkout master
|
||||
git fetch --all
|
||||
git reset --hard origin/master
|
||||
cd $SCRIPT_DIR
|
||||
cp -r $BUILD_DIR/* $REPO_DIR/$NEW_VERSION/
|
||||
|
||||
#
|
||||
# commit and push
|
||||
#
|
||||
|
||||
cd $REPO_DIR
|
||||
git add -A
|
||||
git commit -m "v$NEW_VERSION"
|
||||
# TODO git push origin master
|
||||
cd $SCRIPT_DIR
|
||||
14
scripts/jenkins/master.sh
Executable file
14
scripts/jenkins/master.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e # fail if any command fails
|
||||
cd `dirname $0`/../..
|
||||
|
||||
# Build
|
||||
./jenkins_build.sh
|
||||
|
||||
# Update code.angularjs.org
|
||||
VERSION=`cat build/version.txt`
|
||||
curl http://code.angularjs.org/fetchLatestSnapshot.php?ver=$VERSION
|
||||
|
||||
# Push to bower
|
||||
./scripts/bower/publish.sh
|
||||
29
scripts/jenkins/release.sh
Normal file
29
scripts/jenkins/release.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e # fail if any command fails
|
||||
cd `dirname $0`/../..
|
||||
|
||||
# bump versions: remove "-snapshot" suffix
|
||||
sed -i -e 's/"version": "\(.*\)-snapshot"/"version": "\1"/' package.json
|
||||
|
||||
# Build
|
||||
./jenkins_build.sh
|
||||
|
||||
VERSION=`cat build/version.txt`
|
||||
|
||||
# bump versions: increment version number and add "-snapshot" again
|
||||
grunt bump:$BUMP_TYPE
|
||||
sed -i -e 's/"version": "\(.*\)"/"version": "\1-snapshot"/' package.json
|
||||
|
||||
# commit, tag and push
|
||||
git commit -m "chore(release): v%VERSION%"
|
||||
git tag -m "v%VERSION%" v%VERSION%
|
||||
# TODO git push
|
||||
|
||||
# Update code.angularjs.org
|
||||
./scripts/code.angularjs.org/publish.sh
|
||||
|
||||
# Push to bower
|
||||
./scripts/bower/publish.sh
|
||||
|
||||
|
||||
Reference in New Issue
Block a user