diff options
author | Daniel Watkins <oddbloke@ubuntu.com> | 2020-02-20 12:11:04 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-20 12:11:04 -0500 |
commit | 4ad5c5d058cc9501ef2f294cb6430d9ffe372e7d (patch) | |
tree | 6854d0cdcdf5c5b202ba06debd0e8b0731b9f011 /tools/read-version | |
parent | 87cd040ed8fe7195cbb357ed3bbf53cd2a81436c (diff) | |
download | vyos-cloud-init-4ad5c5d058cc9501ef2f294cb6430d9ffe372e7d.tar.gz vyos-cloud-init-4ad5c5d058cc9501ef2f294cb6430d9ffe372e7d.zip |
Update tooling for GitHub-based new releases (#223)
* tools/read-version: don't enforce version parity in release branch CI
We have a bootstrapping problem with new releases, currently. To take
the example of 20.1: the branch that bumps the version fails CI because
there is no 20.1 tag for it to use in read-version. Previously, this
was solved by creating a tag and pushing it to the cloud-init repo
before the commit landed. However, we have GitHub branch protection
enabled, so the commit that needs to be tagged is not created until the
pull request lands in master.
This works around this problem by introducing a very specific check: if
we are performing CI for an upstream release branch, we skip the
read-version checking that we know will fail.
* tools/make-tarball: add --version parameter
When using make-tarball as part of a CI build of a new upstream release,
the version it determines is inconsistent with the version that other
tools determine. Instead of encoding the logic here (as well as in
Python elsewhere), we add a parameter to allow us to set it from outside
the script.
* packages/bddeb: handle missing version_long in new version CI
If we're running in CI for a new upstream release, we have to use
`version` instead of `version_long` (because we don't yet have the tag
required to generate `version_long`).
Diffstat (limited to 'tools/read-version')
-rwxr-xr-x | tools/read-version | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/read-version b/tools/read-version index 6dca659e..92e9fc96 100755 --- a/tools/read-version +++ b/tools/read-version @@ -65,7 +65,13 @@ output_json = '--json' in sys.argv src_version = ci_version.version_string() version_long = None -if is_gitdir(_tdir) and which("git"): +# If we're performing CI for a new release branch (which our tooling creates +# with an "upstream/" prefix), then we don't want to enforce strict version +# matching because we know it will fail. +is_release_branch_ci = ( + os.environ.get("TRAVIS_PULL_REQUEST_BRANCH", "").startswith("upstream/") +) +if is_gitdir(_tdir) and which("git") and not is_release_branch_ci: flags = [] if use_tags: flags = ['--tags'] @@ -113,6 +119,7 @@ data = { 'extra': extra, 'commit': commit, 'distance': distance, + 'is_release_branch_ci': is_release_branch_ci, } if output_json: |