diff --git a/release/arch/arm/build-arm.sh b/release/arch/arm/build-arm.sh index 07a68370b682640ef60e582e2610da17d344cd9d..6317bbd194a098359447995c271dd12c2cdc2d8f 100755 --- a/release/arch/arm/build-arm.sh +++ b/release/arch/arm/build-arm.sh @@ -7,6 +7,7 @@ export NVM_DIR="$HOME/.nvm" # Prepare ARCH="`uname -m | sed -e \"s/86_//\"`" NVER="v6.11.2" +DUNITER_TAG=$1 # Folders INITIAL_DIRECTORY=`pwd` @@ -28,10 +29,8 @@ mkdir -p "$DOWNLOADS" cd "$DOWNLOADS" if [ ! -d "$DOWNLOADS/duniter" ]; then - git clone https://github.com/duniter/duniter.git + mv "$INITIAL_DIRECTORY/duniter-source" duniter cd duniter - COMMIT=`git rev-list --tags --max-count=1` - DUNITER_TAG=`echo $(git describe --tags $COMMIT) | sed 's/^v//'` git checkout "v${DUNITER_TAG}" cd .. fi diff --git a/release/arch/debian/build-deb.sh b/release/arch/debian/build-deb.sh index 6f1054cf43fad2e749ff23a276f5e18fce6e12ca..fca8b249710fe58c9534cd7d8009930bd0ee2ef7 100644 --- a/release/arch/debian/build-deb.sh +++ b/release/arch/debian/build-deb.sh @@ -6,9 +6,9 @@ export NVM_DIR="$HOME/.nvm" # Prepare NVER=`node -v` -DUNITER_TAG= ADDON_VERSION=48 NW_VERSION=0.17.6 +DUNITER_TAG=$1 NW_RELEASE="v${NW_VERSION}" NW="nwjs-${NW_RELEASE}-linux-x64" NW_GZ="${NW}.tar.gz" @@ -35,10 +35,8 @@ rm -rf /vagrant/*.tar.gz cd "$DOWNLOADS" if [ ! -d "$DOWNLOADS/duniter" ]; then - git clone https://github.com/duniter/duniter.git + mv /vagrant/duniter-source duniter cd duniter - COMMIT=`git rev-list --tags --max-count=1` - DUNITER_TAG=`echo $(git describe --tags $COMMIT) | sed 's/^v//'` git checkout "v${DUNITER_TAG}" cd .. fi diff --git a/release/arch/windows/build.bat b/release/arch/windows/build.bat index c3c3cb035d6fdc56ef9e967ab832cd8188e84b9d..793b172cca3ee3280b4f9e91574c8fe960cac1b4 100644 --- a/release/arch/windows/build.bat +++ b/release/arch/windows/build.bat @@ -30,11 +30,11 @@ rd /s /q duniter rd /s /q duniter_release rd /s /q %NW% echo "Clonage de Duniter..." -git clone https://github.com/duniter/duniter.git +mkdir duniter +xcopy C:\vagrant\duniter-source\* %cd%\duniter\* /s /e /Y cd duniter -for /f "delims=" %%a in ('git rev-list --tags --max-count=1') do @set DUNITER_REV=%%a -for /f "delims=" %%a in ('git describe --tags %DUNITER_REV%') do @set DUNITER_TAG=%%a +for /f "delims=" %%x in (C:\vagrant\duniter_tag.txt) do set DUNITER_TAG=%%x echo %DUNITER_TAG% git checkout %DUNITER_TAG% diff --git a/release/scripts/build.sh b/release/scripts/build.sh index a341dc222766bfb49c21f264d967853077a0b59d..973cc774326940dc2a6f2a9c2544bc5efd1fcedc 100755 --- a/release/scripts/build.sh +++ b/release/scripts/build.sh @@ -1,13 +1,40 @@ #!/bin/bash TAG="$3" +ORIGIN="$4" +IS_LOCAL_TAG=0 + +if [[ -z "${TAG}" ]]; then + # Default tag = YEARMONTHDAY.HOURMINUTE.SECONDS + TAG="`date +\"%Y%m%d\"`.`date +\"%H%M\"`.`date +\"%S\"`" + IS_LOCAL_TAG=1 +fi + +if [[ -z "${ORIGIN}" ]]; then + # Default tag = local branch name + ORIGIN="$(cd ./; pwd)" +fi case "$1" in make) case "$2" in arm) cd release/arch/arm - ./build-arm.sh + + #### PREPARE SOURCE CODE #### + rm -rf duniter-source + # Clone from remote + echo ">> VM: Cloning sources from ${ORIGIN}..." + git clone "${ORIGIN}" duniter-source + if [ ${IS_LOCAL_TAG} -eq 1 ]; then + cd duniter-source + echo ">> git tag v${TAG}..." + ./release/new_version.sh "$TAG" + cd .. + fi + + ./build-arm.sh ${TAG} + if [ ! $? -eq 0 ]; then echo ">> Something went wrong. Stopping build." else @@ -17,10 +44,22 @@ make) deb) cd release/arch/debian if [[ ! -f "duniter-desktop-$TAG-linux-x64.deb" ]]; then + + #### PREPARE SOURCE CODE #### + rm -rf duniter-source + # Clone from remote + echo ">> VM: Cloning sources from ${ORIGIN}..." + git clone "${ORIGIN}" duniter-source + if [ ${IS_LOCAL_TAG} -eq 1 ]; then + cd duniter-source + ./release/new_version.sh "$TAG" + cd .. + fi + [[ $? -eq 0 ]] && echo ">> Starting Vagrant Ubuntu VM..." [[ $? -eq 0 ]] && vagrant up [[ $? -eq 0 ]] && echo ">> VM: building Duniter..." - [[ $? -eq 0 ]] && vagrant ssh -- 'bash -s' < ./build-deb.sh + [[ $? -eq 0 ]] && vagrant ssh -- "bash -s ${TAG}" < ./build-deb.sh if [ ! $? -eq 0 ]; then echo ">> Something went wrong. Stopping build." else @@ -35,11 +74,27 @@ make) win) cd release/arch/windows if [[ ! -f "duniter-desktop-$TAG-windows-x64.exe" ]]; then + + #### PREPARE SOURCE CODE #### + rm -rf duniter-source + # Clone from remote + echo ">> VM: Cloning sources from ${ORIGIN}..." + git clone "${ORIGIN}" duniter-source + echo "${TAG}" > duniter_tag.txt + if [ ${IS_LOCAL_TAG} -eq 1 ]; then + cd duniter-source + ./release/new_version.sh "$TAG" + cd .. + fi + [[ $? -eq 0 ]] && echo ">> Starting Vagrant Windows VM..." [[ $? -eq 0 ]] && vagrant up + + rm -f duniter_tag.txt if [ ! $? -eq 0 ]; then echo ">> Something went wrong. Stopping build." fi + rm -rf ./duniter-source vagrant halt echo ">> VM closed." else