From: Fernando Monserrat Date: Mon, 11 Jun 2018 20:37:34 +0000 (-0300) Subject: 13544: remove script and implement build on makefile dependencies X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/9217ddf079cb81d105c9c5927ad0c7c5ac1040ee?hp=dcebdbfbd2d54d580932681a7ce182d27d0f98d8 13544: remove script and implement build on makefile dependencies Arvados-DCO-1.1-Signed-off-by: Fernando Monserrat --- diff --git a/Makefile b/Makefile index f2f61f7eca..68d10574be 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,14 @@ # # SPDX-License-Identifier: Apache-2.0 +APP_NAME?=arvados-workbench2 +#Get version from the latest tag plus timsetamp +GIT_TAG?=$(shell git describe --abbrev=0) +TS_GIT?=$(shell git log -n1 --first-parent "--format=format:%ct" .) +DATE_FROM_TS_GIT?=$(shell date -ud @$(TS_GIT) +%Y%m%d%H%M%S) +CI_VERSION?="$(GIT_TAG).$(DATE_FROM_TS_GIT)" export WORKSPACE?=$(shell pwd) + help: @echo >&2 @echo >&2 "There is no default make target here. Did you mean 'make test'?" @@ -13,11 +20,23 @@ help: @echo >&2 " Project home --> https://arvados.org" @echo >&2 @false - +clean: + @rm -f $(WORKSPACE)/*.deb + @rm -f $(WORKSPACE)/*.rpm test: @yarn install - @yarn test --no-watchAll + @yarn test --no-watchAll --bail --ci build: @yarn install @yarn build + +package-version: + # Build deb and rpm packages using fpm from dist passing the destination folder for the deploy to be /var/www/arvados-workbench2/ + @fpm -s dir -t deb -n "$(APP_NAME)" -v "$(VERSION)" "--maintainer=Ward Vandewege " --description "workbench2 Package" --deb-no-default-config-files $(WORKSPACE)/build/=/var/www/arvados-workbench2/workbench2/ + @fpm -s dir -t rpm -n "$(APP_NAME)" -v "$(VERSION)" "--maintainer=Ward Vandewege " --description "workbench2 Package" $(WORKSPACE)/build/=/var/www/arvados-workbench2/workbench2/ + +package-no-version: + # Build deb and rpm packages using fpm from dist passing the destination folder for the deploy to be /var/www/arvados-workbench2/ + @fpm -s dir -t deb -n "$(APP_NAME)" -v "$(CI_VERSION)" "--maintainer=Ward Vandewege " --description "workbench2 Package" --deb-no-default-config-files $(WORKSPACE)/build/=/var/www/arvados-workbench2/workbench2/ + @fpm -s dir -t rpm -n "$(APP_NAME)" -v "$(CI_VERSION)" "--maintainer=Ward Vandewege " --description "workbench2 Package" $(WORKSPACE)/build/=/var/www/arvados-workbench2/workbench2/ diff --git a/run-tests-build.sh b/run-tests-build.sh deleted file mode 100755 index e55b1e0e83..0000000000 --- a/run-tests-build.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -x -# Copyright (C) The Arvados Authors. All rights reserved. -# -# SPDX-License-Identifier: AGPL-3.0 -# The script uses the docker image composer-build:latest -# Usage docker run -ti -v /var/lib/jenkins/workspace/build-packages-workbench2/:/tmp/workbench2 composer-build:latest /tmp/workbench2/run-tests-build.sh --build_version 1.0.1 -format_last_commit_here() { - local format="$1"; shift - TZ=UTC git log -n1 --first-parent "--format=format:$format" . -} - -version_from_git() { - # Output the version being built, or if we're building a - # dev/prerelease, output a version number based on the git log for - # the current working directory. - if [[ -n "$ARVADOS_BUILDING_VERSION" ]]; then - echo "$ARVADOS_BUILDING_VERSION" - return - fi - - local git_ts git_hash prefix - if [[ -n "$1" ]] ; then - prefix="$1" - else - prefix="0.1" - fi - - declare $(format_last_commit_here "git_ts=%ct git_hash=%h") - ARVADOS_BUILDING_VERSION="$(git describe --abbrev=0).$(date -ud "@$git_ts" +%Y%m%d%H%M%S)" - echo "$ARVADOS_BUILDING_VERSION" -} - -nohash_version_from_git() { - version_from_git $1 | cut -d. -f1-3 -} - -timestamp_from_git() { - format_last_commit_here "%ct" -} - -WORKDIR="/tmp/workbench2" -cd $WORKDIR -if [[ -n "$2" ]]; then - build_version="$2" -else - build_version="$(version_from_git)" -fi -rm -Rf $WORKDIR/node_modules -rm -f $WORKDIR/*.deb; rm -f $WORKDIR/*.rpm -# run test and build dist -make test -#make build -yarn build - -# Build deb and rpm packages using fpm from dist passing the destination folder for the deploy to be /var/www/arvados-workbench2/ -fpm -s dir -t deb -n arvados-workbench2 -v "$build_version" "--maintainer=Ward Vandewege " --description "workbench2 Package" --deb-no-default-config-files $WORKDIR/build/=/var/www/arvados-workbench2/workbench2/ -fpm -s dir -t rpm -n arvados-workbench2 -v "$build_version" "--maintainer=Ward Vandewege " --description "workbench2 Package" $WORKDIR/build/=/var/www/arvados-workbench2/workbench2/ - -mkdir $WORKDIR/packages -mkdir $WORKDIR/packages/centos7 -mkdir $WORKDIR/packages/ubuntu1404 -mkdir $WORKDIR/packages/ubuntu1604 -mkdir $WORKDIR/packages/debian8 -mkdir $WORKDIR/packages/debian9 -cp $WORKDIR/*.rpm $WORKDIR/packages/centos7/ -cp $WORKDIR/*.deb $WORKDIR/packages/ubuntu1404/ -cp $WORKDIR/*.deb $WORKDIR/packages/ubuntu1604/ -cp $WORKDIR/*.deb $WORKDIR/packages/debian8 -cp $WORKDIR/*.deb $WORKDIR/packages/debian9