mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-25 10:24:38 +08:00
Merge pull request #1793 from natefoo/make-release
Update makefile and add the script I used to apply security patches for 16.01
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
RELEASE_CURR:=16.01
|
||||
RELEASE_CURR_MINOR_NEXT:=$(shell expr `awk '$$1 == "VERSION_MINOR" {print $$NF}' lib/galaxy/version.py | tr -d \" | sed 's/None/0/' ` + 1)
|
||||
RELEASE_NEXT:=16.04
|
||||
# TODO: This needs to be updated with create_release_rc
|
||||
#RELEASE_NEXT_BRANCH:=release_$(RELEASE_NEXT)
|
||||
RELEASE_NEXT_BRANCH:=dev
|
||||
RELEASE_UPSTREAM:=upstream
|
||||
GRUNT_DOCKER_NAME:=galaxy/client-builder:16.01
|
||||
|
||||
@@ -33,7 +37,7 @@ clean-grunt-docker-image:
|
||||
# Release Targets
|
||||
create_release_rc:
|
||||
git checkout dev
|
||||
git pull ${RELEASE_UPSTREAM} dev
|
||||
git pull --ff-only ${RELEASE_UPSTREAM} dev
|
||||
git push origin dev
|
||||
git checkout -b release_$(RELEASE_CURR)
|
||||
git push origin release_$(RELEASE_CURR)
|
||||
@@ -50,9 +54,68 @@ create_release_rc:
|
||||
git add lib/galaxy/version.py
|
||||
git commit -m "Update version to $(RELEASE_NEXT).dev"
|
||||
|
||||
git merge version-$(RELEASE_CURR)
|
||||
-git merge version-$(RELEASE_CURR)
|
||||
git checkout --ours lib/galaxy/version.py
|
||||
git add lib/galaxy/version.py
|
||||
git commit -m "Merge branch 'version-$(RELEASE_CURR)' into version-$(RELEASE_NEXT).dev"
|
||||
git push origin version-$(RELEASE_CURR):version-$(RELEASE_CURR)
|
||||
git push origin version-$(RELEASE_NEXT).dev:version-$(RELEASE_NEXT).dev
|
||||
git branch -d version-$(RELEASE_CURR)
|
||||
git branch -d version-$(RELEASE_NEXT).dev
|
||||
|
||||
create_release:
|
||||
git pull --ff-only $(RELEASE_UPSTREAM) master
|
||||
git push origin master
|
||||
git checkout release_$(RELEASE_CURR)
|
||||
git pull --ff-only $(RELEASE_UPSTREAM) release_$(RELEASE_CURR)
|
||||
#git push origin release_$(RELEASE_CURR)
|
||||
git checkout dev
|
||||
git pull --ff-only $(RELEASE_UPSTREAM) dev
|
||||
#git push origin dev
|
||||
# Test run of merging. If there are conflicts, it will fail here here.
|
||||
git merge release_$(RELEASE_CURR)
|
||||
git checkout release_$(RELEASE_CURR)
|
||||
sed -i "s/^VERSION_MINOR = .*/VERSION_MINOR = None/" lib/galaxy/version.py
|
||||
git add lib/galaxy/version.py
|
||||
git commit -m "Update version to $(RELEASE_CURR)"
|
||||
git tag -m "Tag version $(RELEASE_CURR)" v$(RELEASE_CURR)
|
||||
|
||||
git checkout dev
|
||||
-git merge release_$(RELEASE_CURR)
|
||||
git checkout --ours lib/galaxy/version.py
|
||||
git add lib/galaxy/version.py
|
||||
git commit -m "Merge branch 'release_$(RELEASE_CURR)' into dev"
|
||||
git checkout master
|
||||
git merge release_$(RELEASE_CURR)
|
||||
#git push origin release_$(RELEASE_CURR):release_$(RELEASE_CURR)
|
||||
#git push origin dev:dev
|
||||
#git push origin master:master
|
||||
#git push origin --tags
|
||||
|
||||
create_point_release:
|
||||
git pull --ff-only $(RELEASE_UPSTREAM) master
|
||||
git push origin master
|
||||
git checkout release_$(RELEASE_CURR)
|
||||
git pull --ff-only $(RELEASE_UPSTREAM) release_$(RELEASE_CURR)
|
||||
#git push origin release_$(RELEASE_CURR)
|
||||
git checkout $(RELEASE_NEXT_BRANCH)
|
||||
git pull --ff-only $(RELEASE_UPSTREAM) $(RELEASE_NEXT_BRANCH)
|
||||
#git push origin $(RELEASE_NEXT_BRANCH)
|
||||
git merge release_$(RELEASE_CURR)
|
||||
git checkout release_$(RELEASE_CURR)
|
||||
sed -i "s/^VERSION_MINOR = .*/VERSION_MINOR = \"$(RELEASE_CURR_MINOR_NEXT)\"/" lib/galaxy/version.py
|
||||
git add lib/galaxy/version.py
|
||||
git commit -m "Update version to $(RELEASE_CURR).$(RELEASE_CURR_MINOR_NEXT)"
|
||||
git tag -m "Tag version $(RELEASE_CURR).$(RELEASE_CURR_MINOR_NEXT)" v$(RELEASE_CURR).$(RELEASE_CURR_MINOR_NEXT)
|
||||
git checkout $(RELEASE_NEXT_BRANCH)
|
||||
-git merge release_$(RELEASE_CURR)
|
||||
git checkout --ours lib/galaxy/version.py
|
||||
git add lib/galaxy/version.py
|
||||
git commit -m "Merge branch 'release_$(RELEASE_CURR)' into $(RELEASE_NEXT_BRANCH)"
|
||||
git checkout master
|
||||
git merge release_$(RELEASE_CURR)
|
||||
#git push origin release_$(RELEASE_CURR):release_$(RELEASE_CURR)
|
||||
#git push origin $(RELEASE_NEXT_BRANCH):release_$(RELEASE_NEXT_BRANCH)
|
||||
#git push origin master:master
|
||||
#git push origin --tags
|
||||
git checkout release_$(RELEASE_CURR)
|
||||
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "THIS SCRIPT IS ONLY SAFE TO RUN IF YOUR BRANCHES ARE ALL MERGED FORWARD"
|
||||
echo "THIS SCRIPT DISCARDS UPSTREAM BRANCH CHANGES TO RESOLVE MERGE CONFLICTS"
|
||||
echo "YOU HAVE BEEN WARNED"
|
||||
|
||||
patchbase=../patch
|
||||
clone=galaxy
|
||||
|
||||
declare -a releases=("14.10" "15.01" "15.03" "15.05" "15.07" "15.10" "16.01" "dev")
|
||||
declare -a patches=("safe_relpath-RELEASEU.patch" "gx_history_import-RELEASEU.patch" "gx_objectstore_relpath-RELEASEU.patch" "gx_sample_transfer-RELEASEU.patch" "ts_browse_symlink_relpath-RELEASEU.patch" "ts_upload_symlink_relpath-RELEASEU.patch")
|
||||
declare -a patchmsgs=('Add a safe_relpath util function for ensuring a path does not reference an absolute or parent directory' 'Security fixes for history imports' 'Security fixes for object store paths' 'Remove sample tracking manual external service transfer due to security concerns' 'Security fixes for tool shed repository browsing' 'Security fixes for tool shed hg push and capsule/tarball uploads')
|
||||
|
||||
[ -d $clone ] || git clone git@github.com:natefoo/galaxy.git $clone
|
||||
cd $clone
|
||||
|
||||
for (( i=0; i < ${#releases[@]}; i++ )); do
|
||||
release=${releases[$i]}
|
||||
releaseu=${release/./_}
|
||||
branch=release_${release}
|
||||
[ $release == "dev" ] && branch=dev
|
||||
git checkout ${branch}
|
||||
for (( j=0; j < ${#patches[@]}; j++ )); do
|
||||
patchf=${patchbase}/${patches[$j]}
|
||||
patchf=${patchf/RELEASEU/$releaseu}
|
||||
if [ -f ${patchf} ]; then
|
||||
echo "Applying patch $patchf"
|
||||
patch -p1 < ${patchf}
|
||||
git add -u
|
||||
git commit -m "${patchmsgs[$j]}"
|
||||
else
|
||||
echo "WARNING: no such patch: $patchf"
|
||||
fi
|
||||
done
|
||||
if [ $i -gt 0 ]; then
|
||||
prevrel=${releases[$(( $i - 1 ))]}
|
||||
msg="Merge branch 'release_${prevrel}' into ${branch}"
|
||||
echo "$msg"
|
||||
if ! git merge -m "$msg" release_${prevrel}; then
|
||||
while read status fp; do
|
||||
echo 'Handling merge conflicts by restoring "our" version'
|
||||
if [ $status == "UU" ]; then
|
||||
echo "git checkout --ours $fp"
|
||||
git checkout --ours $fp
|
||||
fi
|
||||
done < <(git status --short)
|
||||
git add -u
|
||||
git commit -m "$msg"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user