Commit ee55ce8af623e5dcd34f6a08b703271f48025d09

Authored by Jacob Vosmaer
1 parent 3678c50e

Rewrite release.sh as a Makefile

Showing 2 changed files with 40 additions and 55 deletions   Show diff stats
Makefile 0 → 100644
@@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
  1 +PROJECT=gitlab
  2 +RELEASE_BUCKET=downloads-packages
  3 +RELEASE_BUCKET_REGION=eu-west-1
  4 +SECRET_DIR:=$(shell openssl rand -hex 20)
  5 +
  6 +build:
  7 + OMNIBUS_APPEND_TIMESTAMP=0 bin/omnibus build project ${PROJECT}
  8 +
  9 +release: no_changes on_tag purge build sync
  10 +
  11 +no_changes:
  12 + git diff --quiet HEAD
  13 +
  14 +on_tag:
  15 + git describe --exact-match
  16 +
  17 +purge:
  18 + bin/omnibus clean --purge ${PROJECT}
  19 + mkdir -p pkg
  20 + (cd pkg && find . -delete)
  21 +
  22 +sync: remove_json move_ee_to_secret_dir md5 s3_sync
  23 +
  24 +remove_json:
  25 + find pkg/ -name '*.json' -delete
  26 +
  27 +move_ee_to_secret_dir:
  28 + if (git describe | grep -q -w ee); then \
  29 + mv pkg ${SECRET_DIR} \
  30 + && mkdir pkg \
  31 + && mv ${SECRET_DIR} pkg/ \
  32 + ; fi
  33 +
  34 +md5:
  35 + find pkg -type f -exec md5sum {} \;
  36 +
  37 +s3_sync:
  38 + aws s3 sync pkg/ s3://${RELEASE_BUCKET} --acl public-read --region ${RELEASE_BUCKET_REGION}
1 -#!/bin/bash  
2 -PROJECT=gitlab  
3 -RELEASE_BUCKET=downloads-packages  
4 -RELEASE_BUCKET_REGION=eu-west-1  
5 -  
6 -function error_exit  
7 -{  
8 - echo "$0: fatal error: $1" 1>&2  
9 - exit 1  
10 -}  
11 -  
12 -if !(git diff --quiet HEAD); then  
13 - error_exit 'uncommited changes'  
14 -fi  
15 -  
16 -if !(git describe --exact-match); then  
17 - error_exit 'HEAD is not tagged'  
18 -fi  
19 -  
20 -if !(bin/omnibus clean --purge ${PROJECT}); then  
21 - error_exit 'clean failed'  
22 -fi  
23 -  
24 -if !(touch build.txt); then  
25 - error_exit 'failed to mark build start time'  
26 -fi  
27 -  
28 -if !(OMNIBUS_APPEND_TIMESTAMP=0 bin/omnibus build project ${PROJECT}); then  
29 - error_exit 'build failed'  
30 -fi  
31 -  
32 -release_package=$(find pkg/ -newer build.txt -type f -not -name '*.json')  
33 -if [[ -z ${release_package} ]]; then  
34 - error_exit 'could not find the release package'  
35 -fi  
36 -  
37 -if (git describe | grep -w ee); then  
38 - release_dir="$(openssl rand -hex 20)"  
39 - if [[ $? -ne 0 ]]; then  
40 - error_exit 'failed to generate release directory name'  
41 - fi  
42 - remote_package_path="s3://${RELEASE_BUCKET}/${release_dir}/${release_package#pkg/}"  
43 -else  
44 - remote_package_path="s3://${RELEASE_BUCKET}/${release_package#pkg/}"  
45 -fi  
46 -  
47 -echo  
48 -echo 'Package MD5:'  
49 -md5sum ${release_package}  
50 -  
51 -echo  
52 -echo 'Starting upload'  
53 -if !(aws s3 cp ${release_package} ${remote_package_path} --acl public-read --region ${RELEASE_BUCKET_REGION}); then  
54 - error_exit 'release upload failed'  
55 -fi 1 +#!/bin/sh
  2 +make release