mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
ci: Do release tagging in CI and add --draft support (#5652)
* ci: Do release tagging in CI and add --draft support * Add -h, --help to release.sh * Add -h, --help to increment_version_tag.sh * Limit release concurrency * Add automatic release watching * ci: Add git config, tag as "GitHub Actions Bot" Co-authored-by: Dean Sheather <dean@deansheather.com>
This commit is contained in:
co-authored by
Dean Sheather
parent
e72a2ad907
commit
8e4af79cb2
@@ -34,6 +34,10 @@ dependencies gh
|
||||
COMMIT_METADATA_BREAKING=0
|
||||
declare -A COMMIT_METADATA_TITLE COMMIT_METADATA_CATEGORY
|
||||
|
||||
# This environment variable can be set to 1 to ignore missing commit metadata,
|
||||
# useful for dry-runs.
|
||||
ignore_missing_metadata=${CODER_IGNORE_MISSING_COMMIT_METADATA:-0}
|
||||
|
||||
main() {
|
||||
# Match a commit prefix pattern, e.g. feat: or feat(site):.
|
||||
prefix_pattern="^([a-z]+)(\([a-z]*\))?:"
|
||||
@@ -87,9 +91,11 @@ main() {
|
||||
commit_sha_long=${parts[1]}
|
||||
commit_prefix=${parts[2]}
|
||||
|
||||
# Safety-check, guarantee all commits had their metadata fetched.
|
||||
if [[ ! -v labels[$commit_sha_long] ]]; then
|
||||
error "Metadata missing for commit $commit_sha_short"
|
||||
if [[ $ignore_missing_metadata != 1 ]]; then
|
||||
# Safety-check, guarantee all commits had their metadata fetched.
|
||||
if [[ ! -v labels[$commit_sha_long] ]]; then
|
||||
error "Metadata missing for commit $commit_sha_short"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Store the commit title for later use.
|
||||
@@ -99,11 +105,11 @@ main() {
|
||||
|
||||
# First, check the title for breaking changes. This avoids doing a
|
||||
# GH API request if there's a match.
|
||||
if [[ $commit_prefix =~ $breaking_title ]] || [[ ${labels[$commit_sha_long]} = *"label:$breaking_label"* ]]; then
|
||||
if [[ $commit_prefix =~ $breaking_title ]] || [[ ${labels[$commit_sha_long]:-} = *"label:$breaking_label"* ]]; then
|
||||
COMMIT_METADATA_CATEGORY[$commit_sha_short]=$breaking_category
|
||||
COMMIT_METADATA_BREAKING=1
|
||||
continue
|
||||
elif [[ ${labels[$commit_sha_long]} = *"label:$security_label"* ]]; then
|
||||
elif [[ ${labels[$commit_sha_long]:-} = *"label:$security_label"* ]]; then
|
||||
COMMIT_METADATA_CATEGORY[$commit_sha_short]=$security_label
|
||||
continue
|
||||
fi
|
||||
@@ -137,6 +143,9 @@ export_commit_metadata() {
|
||||
if [[ ${_COMMIT_METADATA_CACHE:-} == "${range}:"* ]]; then
|
||||
eval "${_COMMIT_METADATA_CACHE#*:}"
|
||||
else
|
||||
if [[ $ignore_missing_metadata == 1 ]]; then
|
||||
log "WARNING: Ignoring missing commit metadata, breaking changes may be missed."
|
||||
fi
|
||||
main
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user