mirror of https://github.com/smithy-lang/smithy-rs
48 lines
1.5 KiB
Bash
Executable File
48 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
set -eux
|
|
|
|
SMITHY_RS_DIR="$(pwd)/smithy-rs"
|
|
ARTIFACTS_DIR="$(pwd)/artifacts/smithy-rs-release"
|
|
mkdir -p "${ARTIFACTS_DIR}"
|
|
|
|
pushd "${SMITHY_RS_DIR}"
|
|
# Split AWS SDK changelog entries into a separate file
|
|
changelogger split \
|
|
--source CHANGELOG.next.toml \
|
|
--destination aws/SDK_CHANGELOG.next.json
|
|
# Render the remaining smithy-rs changelog entries
|
|
changelogger render \
|
|
--independent-versioning \
|
|
--change-set smithy-rs \
|
|
--source CHANGELOG.next.toml \
|
|
--source-to-truncate CHANGELOG.next.toml \
|
|
--changelog-output CHANGELOG.md \
|
|
--release-manifest-output "${ARTIFACTS_DIR}"
|
|
# Commit changelog changes if there are any
|
|
git add .
|
|
git diff --staged --quiet || \
|
|
git -c "user.name=AWS SDK Rust Bot" \
|
|
-c "user.email=aws-sdk-rust-primary@amazon.com" \
|
|
commit \
|
|
-am "Update changelog"
|
|
# Generate the crates to publish
|
|
./gradlew rust-runtime:assemble
|
|
popd
|
|
|
|
# Move crates into `crates-to-publish` part of the `smithy-rs-release` artifact
|
|
mv "${SMITHY_RS_DIR}/rust-runtime/build/smithy-rs/rust-runtime" \
|
|
"${ARTIFACTS_DIR}/crates-to-publish"
|
|
|
|
# Clone smithy-rs repo changes (changelog updates) into
|
|
# the `smithy-rs-release` artifact for push to GitHub
|
|
pushd "${ARTIFACTS_DIR}"
|
|
git clone "${SMITHY_RS_DIR}"
|
|
# Copy over the original remotes so that it's possible to push to `origin`
|
|
cp "${SMITHY_RS_DIR}/.git/config" smithy-rs/.git/config
|
|
popd
|