Stricter check for release branch + Refactor

Also:
- Don't crash if there are no tags in the repo.
- Install awscli only when needed
This commit is contained in:
Nicola Soranzo
2021-03-26 16:28:24 +00:00
parent c9275068b2
commit 9777eea05a
2 changed files with 18 additions and 21 deletions
+1 -1
View File
@@ -50,7 +50,6 @@ jobs:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
pip install awscli
case "$TARGET_BRANCH" in
release_[[:digit:]][[:digit:]].[[:digit:]][[:digit:]]|master)
UPLOAD_DIR=$TARGET_BRANCH
@@ -63,4 +62,5 @@ jobs:
exit 0
;;
esac
pip install awscli
aws s3 sync doc/build/html/ "s3://galaxy-docs/en/$UPLOAD_DIR" --region us-east-2 --size-only --delete
+17 -20
View File
@@ -2,6 +2,7 @@
# Galaxy sphinxcontrib-simpleversioning documentation build configuration file
# This file is appended to conf.py by the Build docs github workflow.
#
import re
from distutils.version import LooseVersion
from subprocess import check_output
@@ -34,12 +35,6 @@ simpleversioning_versions = [
# Used for determining the latest stable release so the banner can be added to older releases.
_stable = None
_target_ver = None
_pre_release = False
if TARGET_GIT_BRANCH.startswith('release_'):
_target_ver = TARGET_GIT_BRANCH[len('release_'):]
# Use tags to determine versions - a stable version will have a branch before it's released, but not a tag.
tags = check_output(('git', 'tag')).decode().splitlines()
for _tag in reversed(tags):
@@ -48,25 +43,27 @@ for _tag in reversed(tags):
_ver = _tag[1:]
if not _stable:
_stable = _ver
if _target_ver and LooseVersion(_target_ver) > LooseVersion(_ver):
# Pre-release
simpleversioning_versions.append(
{'id': TARGET_GIT_BRANCH, 'name': _target_ver}
)
_pre_release = True
if LooseVersion(_ver) >= MIN_DOC_VERSION:
simpleversioning_versions.append(
{'id': 'release_%s' % _ver, 'name': _ver}
)
if TARGET_GIT_BRANCH.startswith('release_'):
# The current stable release will go here but fail the next conditional, avoiding either banner.
if TARGET_GIT_BRANCH != 'release_%s' % _stable:
simpleversioning_show_banner = True
if _pre_release:
simpleversioning_banner_message = PRE_BANNER + BANNER_APPEND
else:
simpleversioning_banner_message = OLD_BANNER + BANNER_APPEND
if re.fullmatch(r'release_\d{2}\.\d{2}', TARGET_GIT_BRANCH):
if _stable:
# The current stable release will go here but fail the next conditional, avoiding either banner.
if TARGET_GIT_BRANCH != 'release_%s' % _stable:
simpleversioning_show_banner = True
_target_ver = TARGET_GIT_BRANCH[len('release_'):]
if LooseVersion(_target_ver) > LooseVersion(_stable):
# Pre-release
# Insert it between master and _stable
simpleversioning_versions.insert(
2,
{'id': TARGET_GIT_BRANCH, 'name': _target_ver}
)
simpleversioning_banner_message = PRE_BANNER + BANNER_APPEND
else:
simpleversioning_banner_message = OLD_BANNER + BANNER_APPEND
elif TARGET_GIT_BRANCH != 'master':
if TARGET_GIT_BRANCH != 'dev':
# Feature branch