feat: emit protocol-relative display urls
This commit is contained in:
@@ -98,8 +98,10 @@ jobs:
|
|||||||
|
|
||||||
repo_name="${GITHUB_REPOSITORY##*/}"
|
repo_name="${GITHUB_REPOSITORY##*/}"
|
||||||
prefix="${repo_name}/branch/${GITHUB_REF_NAME}"
|
prefix="${repo_name}/branch/${GITHUB_REF_NAME}"
|
||||||
report_url="${ARTEFACT_BUCKET_ENDPONT%/}/${ARTEFACT_BUCKET_NAME}/${prefix}/coverage.html"
|
display_endpoint="${ARTEFACT_BUCKET_ENDPONT#https://}"
|
||||||
badge_url="${ARTEFACT_BUCKET_ENDPONT%/}/${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-badge.svg"
|
display_endpoint="${display_endpoint#http://}"
|
||||||
|
report_url="//${display_endpoint%/}/${ARTEFACT_BUCKET_NAME}/${prefix}/coverage.html"
|
||||||
|
badge_url="//${display_endpoint%/}/${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-badge.svg"
|
||||||
|
|
||||||
aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage.html "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage.html" --content-type text/html
|
aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage.html "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage.html" --content-type text/html
|
||||||
aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage-badge.svg "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-badge.svg" --content-type image/svg+xml
|
aws --endpoint-url "${ARTEFACT_BUCKET_ENDPONT}" s3 cp coverage-badge.svg "s3://${ARTEFACT_BUCKET_NAME}/${prefix}/coverage-badge.svg" --content-type image/svg+xml
|
||||||
|
|||||||
@@ -477,6 +477,8 @@ func addChangelogLinks(text, repoURL, rootDir string) string {
|
|||||||
return text
|
return text
|
||||||
}
|
}
|
||||||
|
|
||||||
|
displayRepoURL := displayURL(repoURL)
|
||||||
|
|
||||||
// Normalize headings to plain format, stripping any existing inline links.
|
// Normalize headings to plain format, stripping any existing inline links.
|
||||||
text = unreleasedHeadingRe.ReplaceAllString(text, "## [Unreleased]\n")
|
text = unreleasedHeadingRe.ReplaceAllString(text, "## [Unreleased]\n")
|
||||||
text = releaseHeadingRe.ReplaceAllStringFunc(text, func(match string) string {
|
text = releaseHeadingRe.ReplaceAllStringFunc(text, func(match string) string {
|
||||||
@@ -512,30 +514,41 @@ func addChangelogLinks(text, repoURL, rootDir string) string {
|
|||||||
linkDefs := make([]string, 0, len(releasedVersions)+1)
|
linkDefs := make([]string, 0, len(releasedVersions)+1)
|
||||||
if len(releasedVersions) > 0 {
|
if len(releasedVersions) > 0 {
|
||||||
latest := releasedVersions[0]
|
latest := releasedVersions[0]
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s", compareURL(repoURL, "v"+latest, "main")))
|
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s", compareURL(displayRepoURL, "v"+latest, "main")))
|
||||||
} else {
|
} else {
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s/src/branch/main", repoURL))
|
linkDefs = append(linkDefs, fmt.Sprintf("[Unreleased]: %s/src/branch/main", displayRepoURL))
|
||||||
}
|
}
|
||||||
|
|
||||||
firstCommitShort, hasFirstCommit := firstCommitShortHash(rootDir)
|
firstCommitShort, hasFirstCommit := firstCommitShortHash(rootDir)
|
||||||
for i, version := range releasedVersions {
|
for i, version := range releasedVersions {
|
||||||
if i+1 < len(releasedVersions) {
|
if i+1 < len(releasedVersions) {
|
||||||
previousVersion := releasedVersions[i+1]
|
previousVersion := releasedVersions[i+1]
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(repoURL, "v"+previousVersion, "v"+version)))
|
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(displayRepoURL, "v"+previousVersion, "v"+version)))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if hasFirstCommit {
|
if hasFirstCommit {
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(repoURL, firstCommitShort, "v"+version)))
|
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(displayRepoURL, firstCommitShort, "v"+version)))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(repoURL, "v"+version, "main")))
|
linkDefs = append(linkDefs, fmt.Sprintf("[%s]: %s", version, compareURL(displayRepoURL, "v"+version, "main")))
|
||||||
}
|
}
|
||||||
|
|
||||||
return strings.TrimRight(text, "\n") + "\n\n" + strings.Join(linkDefs, "\n") + "\n"
|
return strings.TrimRight(text, "\n") + "\n\n" + strings.Join(linkDefs, "\n") + "\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func displayURL(url string) string {
|
||||||
|
trimmed := strings.TrimSpace(url)
|
||||||
|
if strings.HasPrefix(trimmed, "https://") {
|
||||||
|
return "//" + strings.TrimPrefix(trimmed, "https://")
|
||||||
|
}
|
||||||
|
if strings.HasPrefix(trimmed, "http://") {
|
||||||
|
return "//" + strings.TrimPrefix(trimmed, "http://")
|
||||||
|
}
|
||||||
|
return trimmed
|
||||||
|
}
|
||||||
|
|
||||||
func firstCommitShortHash(rootDir string) (string, bool) {
|
func firstCommitShortHash(rootDir string) (string, bool) {
|
||||||
command := exec.Command("git", "-C", rootDir, "rev-list", "--max-parents=0", "--abbrev-commit", "HEAD")
|
command := exec.Command("git", "-C", rootDir, "rev-list", "--max-parents=0", "--abbrev-commit", "HEAD")
|
||||||
output, err := command.Output()
|
output, err := command.Output()
|
||||||
|
|||||||
Reference in New Issue
Block a user