Commit Graph

5 Commits

Author SHA1 Message Date
Chris Evich
326ef19d94 Cirrus: Fix upload_release_archive on branch or tag
Cirrus-CI only sets `$CIRRUS_BASE_SHA` when testing PRs since the
destination and it's state is easy to discover.  However, when
post-merge and/or tag-push testing, the previous state is not
easily discoverable (changes have already merged).  The
`upload_release_archive` script incorrectly assumed this
variable was always set, causing a constant stream of post-merge
testing failures.

Tweak the `is_release()` function to properly handle an empty
`$CIRRUS_BASE_SHA` whether or not `$CIRRUS_TAG` is also set.  Also
update the unit-tests to check for this.  Also account for a
corner case where hack/get_ci_vm.sh is running on a VM w/o git.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-30 14:31:38 -04:00
Chris Evich
8303eb3037 Cirrus: Only upload tagged releases
Prior to this commit, every push to master had it's builds packaged and
uploaded to google storage.  This is a waste, since potential users
are only ever concerned about tagged releases.

Unfortunately because the release process involves humans with
potentially multiple human and automation steps happening in parallel,
it's easy for automation to not detect a tagged release, or trigger on
development|pre-release tags.

Fix this in `upload_release_archive.sh` using a new unit-tested
function `is_release()`.  This acts as the definitive authority
on whether or not a specific commit rage or `$CIRRUS_TAG` value
constitutes something worthy of upload.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-29 10:34:58 -04:00
Chris Evich
cd78825be7 Cirrus: More tests to verify cache_images
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-06-25 15:45:12 -04:00
Chris Evich
95141f88d4 Cirrus: fixups based on review feedback
Also remove disused distros (RHEL/CentOS/FAH) and fix get_ci_vm script

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-05-21 08:44:02 -04:00
Ed Santiago
295c531ece cirrus lib.sh: refactor req_env_var()
Existing code was not working due to a bash gotcha ('exit'
from a pipeline). It also had unnecessary duplication.

New version is safer; also includes unit tests run under localunit.

Existing invocations of req_env_var replaced via:

   $ [ edit setup_environment.sh, move one closing quote to its own line ]
   $ perl -ni -e 's/(?<=req_env_var )"(\S+)\s+\$\1"/$1/; if (/req_env_var "$/ .. /^\s*"/) { chomp; s/(?<=\S)\s.*//; if (/^\s*"/) { print "\n" } else { unless (/req_env_var/) { s/^\s+//; print " ";} print;} } else { print }' $(ack -l req_env_var)
   $ [ hand-massage an incorrect instance of '@' in lib.sh:ircmsg() ]

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-05-02 08:14:59 -06:00