feat: merge everything into a shell script
License: MIT Signed-off-by: Henrique Dias <hacdias@gmail.com> feat: make sure wizard is executable License: MIT Signed-off-by: Henrique Dias <hacdias@gmail.com> fix: some stuff License: MIT Signed-off-by: Henrique Dias <hacdias@gmail.com>
This commit is contained in:
parent
462344b00a
commit
988d2f702d
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
*.db
|
*.db
|
||||||
*.lock
|
*.lock
|
||||||
|
*.bak
|
||||||
_old
|
_old
|
||||||
rice-box.go
|
rice-box.go
|
||||||
|
|||||||
11
.travis.yml
11
.travis.yml
@ -20,22 +20,19 @@ cache:
|
|||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
- stage: lint
|
- stage: lint
|
||||||
script: ./build/run_gometalinter.sh
|
script: ./wizard.sh -l
|
||||||
- stage: build
|
- stage: build
|
||||||
script: ./build/build_all.sh
|
script: ./wizard.sh -b
|
||||||
deploy:
|
deploy:
|
||||||
provider: script
|
provider: script
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
script: docker build -t filebrowser/filebrowser . && ./build/docker_login.sh && docker push filebrowser/filebrowser && docker logout
|
script: ./wizard.sh -p
|
||||||
on:
|
on:
|
||||||
tags: false
|
tags: false
|
||||||
repo: filebrowser/filebrowser
|
repo: filebrowser/filebrowser
|
||||||
branch: master
|
branch: master
|
||||||
- stage: release
|
- stage: release
|
||||||
script:
|
script: ./wizard.sh -r
|
||||||
- docker run --rm -itv $(pwd):/go/src/github.com/filebrowser/filebrowser -v /var/run/docker.sock:/var/run/docker.sock filebrowser/dev goreleaser
|
|
||||||
- ./build/push_images.sh
|
|
||||||
- ./build/push_ricebox.sh
|
|
||||||
if: tag IS present
|
if: tag IS present
|
||||||
deploy:
|
deploy:
|
||||||
provider: releases
|
provider: releases
|
||||||
|
|||||||
@ -1,20 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
|
||||||
|
|
||||||
go get -v ./...
|
|
||||||
|
|
||||||
if [ "$COMMIT_SHA" != "" ]; then
|
|
||||||
echo "Set version to ($COMMIT_SHA)"
|
|
||||||
sed -i.bak "s|(untracked)|($COMMIT_SHA)|g" ../filebrowser.go
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Build CLI"
|
|
||||||
go build -a -o filebrowser
|
|
||||||
|
|
||||||
if [ "$COMMIT_SHA" != "" ]; then
|
|
||||||
echo "Reset version to (untracked)"
|
|
||||||
sed -i "s|($COMMIT_SHA)|(untracked)|g" ../filebrowser.go
|
|
||||||
fi
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
|
||||||
|
|
||||||
if [ -d http/"rice-box.go" ]; then
|
|
||||||
rm -rf http/rice-box.go
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$USE_DOCKER" != "" ]; then
|
|
||||||
if [ -d "frontend/dist" ]; then
|
|
||||||
rm -rf frontend/dist
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [ "$(command -v git)" != "" ]; then
|
|
||||||
COMMIT_SHA="$(git rev-parse HEAD | cut -c1-8)"
|
|
||||||
else
|
|
||||||
COMMIT_SHA="untracked"
|
|
||||||
fi
|
|
||||||
|
|
||||||
$(command -v winpty) docker run -it \
|
|
||||||
--name filebrowser-tmp \
|
|
||||||
-v /$(pwd):/src:z \
|
|
||||||
-w //src \
|
|
||||||
-e COMMIT_SHA=$COMMIT_SHA \
|
|
||||||
filebrowser/dev \
|
|
||||||
sh -c "\
|
|
||||||
cd build && \
|
|
||||||
dos2unix build_assets.sh && \
|
|
||||||
dos2unix build.sh && \
|
|
||||||
./build_assets.sh && \
|
|
||||||
./build.sh \
|
|
||||||
"
|
|
||||||
exitcode=$?
|
|
||||||
|
|
||||||
if [ $exitcode -eq 0 ]; then
|
|
||||||
for d in "dist/" "node_modules/"; do
|
|
||||||
docker cp filebrowser-tmp://src/frontend/$d frontend
|
|
||||||
done
|
|
||||||
docker cp filebrowser-tmp://src/filebrowser ./filebrowser
|
|
||||||
docker cp filebrowser-tmp://src/http/rice-box.go ./http/rice-box.go
|
|
||||||
else
|
|
||||||
echo "BUILD FAILED!"
|
|
||||||
fi
|
|
||||||
docker rm -f filebrowser-tmp
|
|
||||||
else
|
|
||||||
set -e
|
|
||||||
./build/build_assets.sh
|
|
||||||
./build/build.sh
|
|
||||||
fi
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
|
||||||
|
|
||||||
# Clean the dist folder and build the assets
|
|
||||||
cd frontend
|
|
||||||
if [ -d "dist" ]; then
|
|
||||||
rm -rf dist/*
|
|
||||||
fi;
|
|
||||||
yarn install
|
|
||||||
yarn build
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
# Install rice tool if not present
|
|
||||||
if ! [ -x "$(command -v rice)" ]; then
|
|
||||||
go get github.com/GeertJohan/go.rice/rice
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Embed the assets using rice
|
|
||||||
cd http
|
|
||||||
rice embed-go
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# init key for pass
|
|
||||||
gpg --batch --gen-key <<-EOF
|
|
||||||
%echo Generating a standard key
|
|
||||||
Key-Type: DSA
|
|
||||||
Key-Length: 1024
|
|
||||||
Subkey-Type: ELG-E
|
|
||||||
Subkey-Length: 1024
|
|
||||||
Name-Real: Meshuggah Rocks
|
|
||||||
Name-Email: meshuggah@example.com
|
|
||||||
Expire-Date: 0
|
|
||||||
# Do a commit here, so that we can later print "done" :-)
|
|
||||||
%commit
|
|
||||||
%echo done
|
|
||||||
EOF
|
|
||||||
|
|
||||||
key=$(gpg --no-auto-check-trustdb --list-secret-keys | grep ^sec | cut -d/ -f2 | cut -d" " -f1)
|
|
||||||
pass init $key
|
|
||||||
|
|
||||||
if [ "$(command -v docker-credential-pass)" = "" ]; then
|
|
||||||
docker run --rm -itv /usr/local/bin:/src filebrowser/dev sh -c "cp /go/bin/docker-credential-pass /src"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
./docker_login.sh
|
|
||||||
|
|
||||||
for tag in `echo $(docker images filebrowser/filebrowser* | awk -F ' ' '{print $1 ":" $2}') | cut -d ' ' -f2-`; do
|
|
||||||
if [ "$tag" = "REPOSITORY:TAG" ]; then break; fi
|
|
||||||
docker push $tag
|
|
||||||
done
|
|
||||||
|
|
||||||
docker logout
|
|
||||||
@ -1,38 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
COMMIT_SHA="$(git rev-parse --verify HEAD | cut -c1-8)"
|
|
||||||
|
|
||||||
eval `ssh-agent -s`
|
|
||||||
openssl aes-256-cbc -K $encrypted_9ca81b5594f5_key -iv $encrypted_9ca81b5594f5_iv -in ./deploy_key.enc -d | ssh-add -
|
|
||||||
|
|
||||||
git clone git@github.com:filebrowser/caddy caddy
|
|
||||||
cd caddy
|
|
||||||
cp ../../lib/rice-box.go assets/
|
|
||||||
sed -i 's/package lib/package assets/g' assets/rice-box.go
|
|
||||||
git checkout -b update-rice-box origin/master
|
|
||||||
git config --local user.name "Filebrowser Bot"
|
|
||||||
git config --local user.email "FilebrowserBot@users.noreply.github.com"
|
|
||||||
git commit -am "update rice-box $COMMIT_SHA"
|
|
||||||
|
|
||||||
if [ $(git tag | grep "$TRAVIS_TAG" | wc -l) -ne 0 ]; then
|
|
||||||
git tag -d "$TRAVIS_TAG"
|
|
||||||
fi
|
|
||||||
|
|
||||||
git tag "$TRAVIS_TAG"
|
|
||||||
|
|
||||||
if [ "$(git ls-remote --heads origin update-rice-box)" != "" ]; then
|
|
||||||
git push -u origin update-rice-box
|
|
||||||
else
|
|
||||||
git push origin +update-rice-box
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$(git ls-remote --heads origin update-rice-box)" != "" ]; then
|
|
||||||
git push origin "$TRAVIS_TAG"
|
|
||||||
else
|
|
||||||
git push origin :"$TRAVIS_TAG"
|
|
||||||
git push origin "$TRAVIS_TAG"
|
|
||||||
fi
|
|
||||||
@ -1,57 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo $0
|
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
|
||||||
|
|
||||||
echo "> Checking semver format"
|
|
||||||
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
echo "This release script requires a single argument corresponding to the semver to be released. See semver.org"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
semver=$(grep -P '^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)' <<< "$1")
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Not valid semver format. See semver.org"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "> Checking matching $semver in frontend submodule"
|
|
||||||
|
|
||||||
cd frontend
|
|
||||||
git fetch --all
|
|
||||||
|
|
||||||
if [ $(git tag | grep "$semver" | wc -l) -eq 0 ]; then
|
|
||||||
echo "Tag $semver does not exist in submodule 'frontend'. Tag it and run this script again."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
git rev-parse --verify --quiet release
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
git checkout -b release "$semver"
|
|
||||||
else
|
|
||||||
git checkout release
|
|
||||||
git reset --hard "$semver"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
echo "> Updating submodule ref to $semver"
|
|
||||||
|
|
||||||
sed -i "s|(untracked)|$1|g" filebrowser.go
|
|
||||||
git commit -am "chore: version $semver"
|
|
||||||
git tag "$1"
|
|
||||||
git push
|
|
||||||
git push --tags
|
|
||||||
|
|
||||||
echo "> Commiting untracked version notice..."
|
|
||||||
|
|
||||||
sed -i "s|$1|(untracked)|g" filebrowser.go
|
|
||||||
git commit -am "chore: setting untracked version [ci skip]"
|
|
||||||
git push
|
|
||||||
|
|
||||||
echo "> Done!"
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd $(dirname $0)/..
|
|
||||||
|
|
||||||
dolint='gometalinter --exclude="rice-box.go" --exclude="vendor" --deadline=300s ./...'
|
|
||||||
|
|
||||||
WDIR="/go/src/github.com/filebrowser/filebrowser"
|
|
||||||
|
|
||||||
if [ "$USE_DOCKER" != "" ]; then
|
|
||||||
$(command -v winpty) docker run --rm -itv "/$(pwd):/$WDIR" -w "/$WDIR" filebrowser/dev sh -c "\
|
|
||||||
GO111MODULE=on go get -v ./... && \
|
|
||||||
GO111MODULE=on go mod vendor && \
|
|
||||||
GO111MODULE=off $dolint"
|
|
||||||
else
|
|
||||||
$dolint
|
|
||||||
fi
|
|
||||||
299
wizard.sh
Executable file
299
wizard.sh
Executable file
@ -0,0 +1,299 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
untracked="(untracked)"
|
||||||
|
REPO=$(cd $(dirname $0); pwd)
|
||||||
|
LINT="false"
|
||||||
|
BUILD="false"
|
||||||
|
PUSH_LATEST="false"
|
||||||
|
RELEASE=""
|
||||||
|
|
||||||
|
debugInfo () {
|
||||||
|
echo "Repo: $REPO"
|
||||||
|
echo "Will lint: $LINT"
|
||||||
|
echo "Will build: $BUILD"
|
||||||
|
echo "Will release: $RELEASE"
|
||||||
|
echo "Will push latest docker: $PUSH_LATEST"
|
||||||
|
echo "Use Docker: $USE_DOCKER"
|
||||||
|
echo "Is CI: $CI"
|
||||||
|
}
|
||||||
|
|
||||||
|
dockerLogin () {
|
||||||
|
gpg --batch --gen-key <<-EOF
|
||||||
|
%echo Generating a standard key
|
||||||
|
Key-Type: DSA
|
||||||
|
Key-Length: 1024
|
||||||
|
Subkey-Type: ELG-E
|
||||||
|
Subkey-Length: 1024
|
||||||
|
Name-Real: Meshuggah Rocks
|
||||||
|
Name-Email: meshuggah@example.com
|
||||||
|
Expire-Date: 0
|
||||||
|
# Do a commit here, so that we can later print "done" :-)
|
||||||
|
%commit
|
||||||
|
%echo done
|
||||||
|
EOF
|
||||||
|
|
||||||
|
key=$(gpg --no-auto-check-trustdb --list-secret-keys | grep ^sec | cut -d/ -f2 | cut -d" " -f1)
|
||||||
|
pass init $key
|
||||||
|
|
||||||
|
if [ "$(command -v docker-credential-pass)" = "" ]; then
|
||||||
|
docker run --rm -itv /usr/local/bin:/src filebrowser/dev sh -c "cp /go/bin/docker-credential-pass /src"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin
|
||||||
|
}
|
||||||
|
|
||||||
|
dockerPushLatest () {
|
||||||
|
docker build -t filebrowser/filebrowser .
|
||||||
|
dockerLogin
|
||||||
|
docker push filebrowser/filebrowser
|
||||||
|
docker logout
|
||||||
|
}
|
||||||
|
|
||||||
|
installRice () {
|
||||||
|
if ! [ -x "$(command -v rice)" ]; then
|
||||||
|
go get github.com/GeertJohan/go.rice/rice
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
buildAssets () {
|
||||||
|
installRice
|
||||||
|
cd $REPO/frontend
|
||||||
|
|
||||||
|
if [ -d "dist" ]; then
|
||||||
|
rm -rf dist/*
|
||||||
|
fi;
|
||||||
|
|
||||||
|
yarn install
|
||||||
|
yarn build
|
||||||
|
|
||||||
|
cd $REPO/http
|
||||||
|
rice embed-go
|
||||||
|
}
|
||||||
|
|
||||||
|
updateVersion () {
|
||||||
|
from=$1
|
||||||
|
to=$2
|
||||||
|
|
||||||
|
echo "Updating version from \"$from\" to \"$to\""
|
||||||
|
sed -i.bak "s|$from|$to|g" $REPO/types/version.go
|
||||||
|
}
|
||||||
|
|
||||||
|
buildBinary () {
|
||||||
|
cd $REPO
|
||||||
|
go get -v ./...
|
||||||
|
updateVersion $untracked "($COMMIT_SHA)"
|
||||||
|
echo "Build CLI"
|
||||||
|
go build -a -o filebrowser
|
||||||
|
updateVersion "($COMMIT_SHA)" $untracked
|
||||||
|
}
|
||||||
|
|
||||||
|
lint () {
|
||||||
|
dolint='gometalinter --exclude="rice-box.go" --exclude="vendor" --deadline=300s ./...'
|
||||||
|
wdir="/go/src/github.com/filebrowser/filebrowser"
|
||||||
|
|
||||||
|
if [ "$USE_DOCKER" != "" ]; then
|
||||||
|
$(command -v winpty) docker run --rm -itv "/$(base):/$wdir" -w "/$wdir" filebrowser/dev sh -c "\
|
||||||
|
GO111MODULE=on go get -v ./... && \
|
||||||
|
GO111MODULE=on go mod vendor && \
|
||||||
|
GO111MODULE=off $dolint"
|
||||||
|
else
|
||||||
|
$dolint
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pushRicebox () {
|
||||||
|
COMMIT_SHA="$(git rev-parse --verify HEAD | cut -c1-8)"
|
||||||
|
|
||||||
|
cd $REPO
|
||||||
|
|
||||||
|
eval `ssh-agent -s`
|
||||||
|
openssl aes-256-cbc -K $encrypted_9ca81b5594f5_key -iv $encrypted_9ca81b5594f5_iv -in ./.ci/deploy_key.enc -d | ssh-add -
|
||||||
|
|
||||||
|
git clone git@github.com:filebrowser/caddy caddy
|
||||||
|
cd caddy
|
||||||
|
cp $base/http/rice-box.go assets/
|
||||||
|
sed -i 's/package lib/package assets/g' assets/rice-box.go
|
||||||
|
git checkout -b update-rice-box origin/master
|
||||||
|
git config --local user.name "Filebrowser Bot"
|
||||||
|
git config --local user.email "FilebrowserBot@users.noreply.github.com"
|
||||||
|
git commit -am "update rice-box $COMMIT_SHA"
|
||||||
|
|
||||||
|
if [ $(git tag | grep "$TRAVIS_TAG" | wc -l) -ne 0 ]; then
|
||||||
|
git tag -d "$TRAVIS_TAG"
|
||||||
|
fi
|
||||||
|
|
||||||
|
git tag "$TRAVIS_TAG"
|
||||||
|
|
||||||
|
if [ "$(git ls-remote --heads origin update-rice-box)" != "" ]; then
|
||||||
|
git push -u origin update-rice-box
|
||||||
|
else
|
||||||
|
git push origin +update-rice-box
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(git ls-remote --heads origin update-rice-box)" != "" ]; then
|
||||||
|
git push origin "$TRAVIS_TAG"
|
||||||
|
else
|
||||||
|
git push origin :"$TRAVIS_TAG"
|
||||||
|
git push origin "$TRAVIS_TAG"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
ciRelease () {
|
||||||
|
docker run --rm -itv $(pwd):/go/src/github.com/filebrowser/filebrowser \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock filebrowser/dev goreleaser
|
||||||
|
|
||||||
|
dockerPushTag
|
||||||
|
pushRicebox
|
||||||
|
}
|
||||||
|
|
||||||
|
build () {
|
||||||
|
cd $REPO
|
||||||
|
|
||||||
|
if [ -d http/"rice-box.go" ]; then
|
||||||
|
rm -rf http/rice-box.go
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$USE_DOCKER" != "" ]; then
|
||||||
|
if [ -d "frontend/dist" ]; then
|
||||||
|
rm -rf frontend/dist
|
||||||
|
fi;
|
||||||
|
|
||||||
|
if [ "$(command -v git)" != "" ]; then
|
||||||
|
COMMIT_SHA="$(git rev-parse HEAD | cut -c1-8)"
|
||||||
|
else
|
||||||
|
COMMIT_SHA="untracked"
|
||||||
|
fi
|
||||||
|
|
||||||
|
$(command -v winpty) docker run -it \
|
||||||
|
--name filebrowser-tmp \
|
||||||
|
-v /$(pwd):/src:z \
|
||||||
|
-w //src \
|
||||||
|
-e COMMIT_SHA=$COMMIT_SHA \
|
||||||
|
filebrowser/dev \
|
||||||
|
sh -c "dos2unix wizard.sh && ./wizard.sh -b"
|
||||||
|
exitcode=$?
|
||||||
|
|
||||||
|
if [ $exitcode -eq 0 ]; then
|
||||||
|
for d in "dist/" "node_modules/"; do
|
||||||
|
docker cp filebrowser-tmp://src/frontend/$d frontend
|
||||||
|
done
|
||||||
|
docker cp filebrowser-tmp://src/filebrowser ./filebrowser
|
||||||
|
docker cp filebrowser-tmp://src/http/rice-box.go ./http/rice-box.go
|
||||||
|
else
|
||||||
|
echo "BUILD FAILED!"
|
||||||
|
fi
|
||||||
|
docker rm -f filebrowser-tmp
|
||||||
|
else
|
||||||
|
buildAssets
|
||||||
|
buildBinary
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
release () {
|
||||||
|
cd $REPO
|
||||||
|
|
||||||
|
echo "> Checking semver format"
|
||||||
|
|
||||||
|
if [ $# -ne 1 ]; then
|
||||||
|
echo "This release script requires a single argument corresponding to the semver to be released. See semver.org"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
semver=$(grep -P '^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)' <<< "$1")
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Not valid semver format. See semver.org"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "> Checking matching $semver in frontend submodule"
|
||||||
|
|
||||||
|
cd frontend
|
||||||
|
git fetch --all
|
||||||
|
|
||||||
|
if [ $(git tag | grep "$semver" | wc -l) -eq 0 ]; then
|
||||||
|
echo "Tag $semver does not exist in submodule 'frontend'. Tag it and run this script again."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
git rev-parse --verify --quiet release
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
git checkout -b release "$semver"
|
||||||
|
else
|
||||||
|
git checkout release
|
||||||
|
git reset --hard "$semver"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
echo "> Updating submodule ref to $semver"
|
||||||
|
updateVersion $untracked $1
|
||||||
|
git commit -am "chore: version $semver"
|
||||||
|
git tag "$1"
|
||||||
|
git push
|
||||||
|
git push --tags
|
||||||
|
|
||||||
|
echo "> Commiting untracked version notice..."
|
||||||
|
updateVersion $1 $untracked
|
||||||
|
git commit -am "chore: setting untracked version [ci skip]"
|
||||||
|
git push
|
||||||
|
|
||||||
|
echo "> Done!"
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage: $0 [-l] [-b] [-p] [-r <string>]" 1>&2;
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG="false"
|
||||||
|
|
||||||
|
while getopts "pdlbr:" o; do
|
||||||
|
case "${o}" in
|
||||||
|
l)
|
||||||
|
LINT="true"
|
||||||
|
;;
|
||||||
|
b)
|
||||||
|
BUILD="true"
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
RELEASE=${OPTARG}
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
PUSH_LATEST="true"
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
DEBUG="true"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
|
if [ "$DEBUG" == "true" ]; then
|
||||||
|
debugInfo
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$LINT" == "true" ]; then
|
||||||
|
lint
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$BUILD" == "true" ]; then
|
||||||
|
build
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$PUSH_LATEST" == "true" ]; then
|
||||||
|
dockerPushLatest
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RELEASE" != "" ]; then
|
||||||
|
if [ "$CI" == "true" ]; then
|
||||||
|
ciRelease
|
||||||
|
else
|
||||||
|
release $RELEASE
|
||||||
|
fi
|
||||||
|
fi
|
||||||
Loading…
Reference in New Issue
Block a user