11#! /bin/sh
2+
23# shellcheck disable=SC2015,SC2039,SC2166,SC3043
4+ set -e
5+
36VERBOSITY=1
47# run with 'TWGIT=$PWD' to test locally
58TWGIT=${TWGIT:- https:// github.com/ chainguard-dev/ tw}
69
7- stderr () { echo " $@ " 1>&2 ; }
10+ stderr () { echo " Error: $* " 1>&2 ; }
811fail () { [ $# -eq 0 ] || stderr " $@ " ; exit 1; }
912
1013Usage () {
1114 cat << EOF
12- Usage: ${0##*/ } tag packages -git-dir/ [ packages-git-dir ...]]
15+ Usage: ${0##*/ } tag stereo -git-dir/
1316
14- Release 'tag' to wolfi , where 'wolfi-os ' is a wolfi -dev/os
17+ Release tw 'tag' to stereo , where 'stereo-git-dir/ ' is a local chainguard -dev/stereo
1518 git checkout.
1619
17- packages-git-dir is a local git checkout. A commit will be
18- added to it that has the pipelines/ sync'd.
19-
20- If the packages-git-dir is wolfi, then melange.yaml will be
21- copied to tw.yaml.
20+ A commit will be added to it that has the pipelines/ sync'd.
2221EOF
2322}
2423
25- bad_Usage () { Usage 1>&2 ; [ $# -eq 0 ] || stderr " $@ " ; return 1; }
24+ bad_Usage () {
25+ [ $# -eq 0 ] || stderr " $@ "
26+ Usage
27+ return 1
28+ }
2629cleanup () {
2730 [ -z " ${TEMP_D} " -o ! -d " ${TEMP_D} " ] || rm -Rf " ${TEMP_D} "
2831}
@@ -31,7 +34,7 @@ debug() {
3134 local level=" $1 "
3235 shift
3336 [ " $VERBOSITY " -lt " $level " ] && return
34- stderr " ${@ } "
37+ echo " ${@ } "
3538}
3639
3740sync_to_dir () {
@@ -57,14 +60,21 @@ sync_to_dir() {
5760 ( cd " $gdir " && git add " $d " ) ||
5861 fail " failed to git add $d "
5962 done
63+ }
6064
61- ( cd " $gdir " && git commit -m " tw - bump to $tag " ) ||
62- fail " failed to commit to $gdir "
63- return 0
65+ git_commit () {
66+ local stereo_git_dir=" $1 "
67+ cd " $stereo_git_dir "
68+ git commit -m " tw - bump to $tag "
6469}
6570
6671
6772main () {
73+ if [ $# -ne 2 ] ; then
74+ bad_Usage " got $# args expected 2."
75+ return 1
76+ fi
77+
6878 [ " $1 " = " --help" ] && { Usage; exit 0; }
6979
7080 while getopts " hv" opt; do
@@ -79,17 +89,11 @@ main() {
7989
8090 shift $(( OPTIND - 1 ))
8191
82- [ $# -ge 2 ] || { bad_Usage " got $# args expected 2+" ; return 1; }
83-
8492 local tag=" $1 "
8593 tag=v${tag# v} # chop of 'v' in v0.0.1
8694 shift
8795
88- local gdir=" "
89- for gdir in " $@ " ; do
90- [ -d " $gdir " ] || fail " $gdir : not a directory"
91- ( cd " $gdir " ) || fail " failed to cd $gdir "
92- done
96+ local stereo_dir=" $1 "
9397
9498 TEMP_D=$( mktemp -d " ${TMPDIR:-/ tmp} /${0##*/ } .XXXXXX" ) ||
9599 fail " failed to make tempdir"
@@ -100,10 +104,10 @@ main() {
100104 cd tw || fail " failed cd into git cloned $TWGIT "
101105 cksum=$( git rev-parse " $tag " ) || fail " $tag did not exist"
102106
103- for gdir in " $@ " ; do
104- sync_to_dir " $gdir " || exit 1
105- done
106- return 0
107+ sync_to_dir " ${stereo_dir} /os "
108+ sync_to_dir " ${stereo_dir} /enterprise-packages "
109+ sync_to_dir " ${stereo_dir} /extra-packages "
110+ git_commit " ${stereo_dir} "
107111}
108112
109113main " $@ "
0 commit comments