Skip to content

Commit 74bf5cf

Browse files
authored
Update SDK to use shared tooling for changelog and release handling (#1431)
Updates the SDK to use shared tooling with the smithy-go repo for handling changelogs and module releases. Remove internal tooling that's been moved to shared repotools project.
1 parent f7e09fb commit 74bf5cf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+43
-6523
lines changed

Makefile

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ EACHMODULE_SKIP_FLAG=-skip="${EACHMODULE_SKIP}"
1919

2020
EACHMODULE_FLAGS=${EACHMODULE_CONCURRENCY_FLAG} ${EACHMODULE_FAILFAST_FLAG} ${EACHMODULE_SKIP_FLAG}
2121

22-
# SDK's Core and client packages that are compatable with Go 1.9+.
22+
# SDK's Core and client packages that are compatible with Go 1.9+.
2323
SDK_CORE_PKGS=./aws/... ./internal/...
2424
SDK_CLIENT_PKGS=./service/...
2525
SDK_COMPA_PKGS=${SDK_CORE_PKGS} ${SDK_CLIENT_PKGS}
@@ -41,6 +41,20 @@ LICENSE_FILE=$(shell pwd)/LICENSE.txt
4141
RELEASE_MANIFEST_FILE ?=
4242
RELEASE_CHGLOG_DESC_FILE ?=
4343

44+
REPOTOOLS_VERSION ?= latest
45+
REPOTOOLS_MODULE = github.com/awslabs/aws-go-multi-module-repository-tools
46+
REPOTOOLS_CMD_ANNOTATE_STABLE_GEN = ${REPOTOOLS_MODULE}/cmd/annotatestablegen@${REPOTOOLS_VERSION}
47+
REPOTOOLS_CMD_MAKE_RELATIVE = ${REPOTOOLS_MODULE}/cmd/makerelative@${REPOTOOLS_VERSION}
48+
REPOTOOLS_CMD_CALCULATE_RELEASE = ${REPOTOOLS_MODULE}/cmd/calculaterelease@${REPOTOOLS_VERSION}
49+
REPOTOOLS_CMD_UPDATE_REQUIRES = ${REPOTOOLS_MODULE}/cmd/updaterequires@${REPOTOOLS_VERSION}
50+
REPOTOOLS_CMD_UPDATE_MODULE_METADATA = ${REPOTOOLS_MODULE}/cmd/updatemodulemeta@${REPOTOOLS_VERSION}
51+
REPOTOOLS_CMD_GENERATE_CHANGELOG = ${REPOTOOLS_MODULE}/cmd/generatechangelog@${REPOTOOLS_VERSION}
52+
REPOTOOLS_CMD_CHANGELOG = ${REPOTOOLS_MODULE}/cmd/changelog@${REPOTOOLS_VERSION}
53+
REPOTOOLS_CMD_TAG_RELEASE = ${REPOTOOLS_MODULE}/cmd/tagrelease@${REPOTOOLS_VERSION}
54+
55+
REPOTOOLS_CALCULATE_RELEASE_VERBOSE ?= false
56+
REPOTOOLS_CALCULATE_RELEASE_VERBOSE_FLAG=-v=${REPOTOOLS_CALCULATE_RELEASE_VERBOSE}
57+
4458
.PHONY: all
4559
all: generate unit
4660

@@ -74,8 +88,7 @@ smithy-build-%: gen-repo-mod-replace
7488
SMITHY_GO_BUILD_API="$(subst smithy-build-,,$@)" ./gradlew clean build -Plog-tests
7589

7690
smithy-annotate-stable:
77-
cd ./internal/repotools && \
78-
go run ./cmd/annotatestablegen
91+
go run ${REPOTOOLS_CMD_ANNOTATE_STABLE_GEN}
7992

8093
smithy-clean:
8194
cd codegen && ./gradlew clean
@@ -96,7 +109,7 @@ gen-config-asserts:
96109

97110
gen-repo-mod-replace:
98111
@echo "Generating go.mod replace for repo modules"
99-
cd internal/repotools/cmd/makerelative && go run ./
112+
go run ${REPOTOOLS_CMD_MAKE_RELATIVE}
100113

101114
gen-mod-replace-smithy:
102115
cd ./internal/repotools/cmd/eachmodule \
@@ -182,12 +195,10 @@ min-go-version-%:
182195
"go mod edit -go=${SDK_MIN_GO_VERSION}"
183196

184197
update-requires:
185-
cd ./internal/repotools && \
186-
go run ./cmd/updaterequires
198+
go run ${REPOTOOLS_CMD_UPDATE_REQUIRES}
187199

188200
update-module-metadata:
189-
cd ./internal/repotools && \
190-
go run ./cmd/updatemodulemeta
201+
go run ${REPOTOOLS_CMD_UPDATE_MODULE_METADATA}
191202

192203
################
193204
# Unit Testing #
@@ -381,35 +392,35 @@ bench-modules-%:
381392
#####################
382393
.PHONY: preview-release pre-release-validation release
383394

395+
ls-changes:
396+
go run ${REPOTOOLS_CMD_CHANGELOG} ls
397+
384398
preview-release:
385-
@cd ./internal/repotools && \
386-
go run ./cmd/calculaterelease
399+
go run ${REPOTOOLS_CMD_CALCULATE_RELEASE} ${REPOTOOLS_CALCULATE_RELEASE_VERBOSE_FLAG}
387400

388401
pre-release-validation:
389402
@if [[ -z "${RELEASE_MANIFEST_FILE}" ]]; then \
390-
echo "RELEASE_MANIFEST_FILE is required to specify the file to write the release manifest" && false; \
391-
fi
403+
echo "RELEASE_MANIFEST_FILE is required to specify the file to write the release manifest" && false; \
404+
fi
392405
@if [[ -z "${RELEASE_CHGLOG_DESC_FILE}" ]]; then \
393406
echo "RELEASE_CHGLOG_DESC_FILE is required to specify the file to write the release notes" && false; \
394407
fi
395408

396409
release: pre-release-validation
397-
cd ./internal/repotools && \
398-
go run ./cmd/calculaterelease -o ${RELEASE_MANIFEST_FILE} && \
399-
go run ./cmd/updaterequires -release ${RELEASE_MANIFEST_FILE} && \
400-
go run ./cmd/updatemodulemeta -release ${RELEASE_MANIFEST_FILE} && \
401-
go run ./cmd/generatechangelog -release ${RELEASE_MANIFEST_FILE} -o ${RELEASE_CHGLOG_DESC_FILE} && \
402-
go run ./cmd/changelog rm -all && \
403-
go run ./cmd/tagrelease -release ${RELEASE_MANIFEST_FILE}
410+
go run ${REPOTOOLS_CMD_CALCULATE_RELEASE} -o ${RELEASE_MANIFEST_FILE} ${REPOTOOLS_CALCULATE_RELEASE_VERBOSE_FLAG}
411+
go run ${REPOTOOLS_CMD_UPDATE_REQUIRES} -release ${RELEASE_MANIFEST_FILE}
412+
go run ${REPOTOOLS_CMD_UPDATE_MODULE_METADATA} -release ${RELEASE_MANIFEST_FILE}
413+
go run ${REPOTOOLS_CMD_GENERATE_CHANGELOG} -release ${RELEASE_MANIFEST_FILE} -o ${RELEASE_CHGLOG_DESC_FILE}
414+
go run ${REPOTOOLS_CMD_CHANGELOG} rm -all
415+
go run ${REPOTOOLS_CMD_TAG_RELEASE} -release ${RELEASE_MANIFEST_FILE}
404416

405417
##############
406418
# Repo Tools #
407419
##############
408420
.PHONY: install-repotools
409421

410422
install-repotools:
411-
cd ./internal/repotools && \
412-
go install ./cmd/changelog
423+
go install ${REPOTOOLS_MODULE}/cmd/changelog@${REPOTOOLS_VERSION}
413424

414425
##################
415426
# Linting/Verify #

codegen/copy_go_codegen.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@ set -xe
55
SDK_ROOT=$1
66
CODGEN_ROOT=$2
77

8+
REPOTOOLS_VERSION="${REPOTOOLS_VERSION:-latest}"
9+
810
cd "$1"/internal/repotools
9-
go run ./cmd/gomodgen -build "$CODGEN_ROOT"
11+
go run github.com/awslabs/aws-go-multi-module-repository-tools/cmd/gomodgen@${REPOTOOLS_VERSION} -build "$CODGEN_ROOT"

internal/repotools/README.md

Lines changed: 0 additions & 73 deletions
This file was deleted.

0 commit comments

Comments
 (0)