mirror of
https://github.com/fafhrd91/actix-web
synced 2025-06-26 06:57:43 +02:00
prepare for actix-tls rc.1 (#2474)
This commit is contained in:
111
scripts/bump
Executable file
111
scripts/bump
Executable file
@ -0,0 +1,111 @@
|
||||
#!/bin/sh
|
||||
|
||||
# developed on macOS and probably doesn't work on Linux yet due to minor
|
||||
# differences in flags on sed
|
||||
|
||||
# requires github cli tool for automatic release draft creation
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
DIR=$1
|
||||
|
||||
LINUX=""
|
||||
MACOS=""
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
MACOS="1"
|
||||
fi
|
||||
|
||||
CARGO_MANIFEST=$DIR/Cargo.toml
|
||||
CHANGELOG_FILE=$DIR/CHANGES.md
|
||||
README_FILE=$DIR/README.md
|
||||
|
||||
# get current version
|
||||
PACKAGE_NAME="$(sed -nE 's/^name ?= ?"([^"]+)"$/\1/ p' "$CARGO_MANIFEST" | head -n 1)"
|
||||
CURRENT_VERSION="$(sed -nE 's/^version ?= ?"([^"]+)"$/\1/ p' "$CARGO_MANIFEST")"
|
||||
|
||||
CHANGE_CHUNK_FILE="$(mktemp)"
|
||||
echo saving changelog to $CHANGE_CHUNK_FILE
|
||||
echo
|
||||
|
||||
# get changelog chunk and save to temp file
|
||||
cat "$CHANGELOG_FILE" |
|
||||
# skip up to unreleased heading
|
||||
sed '1,/Unreleased/ d' |
|
||||
# take up to previous version heading
|
||||
sed "/$CURRENT_VERSION/ q" |
|
||||
# drop last line
|
||||
sed '$d' \
|
||||
>"$CHANGE_CHUNK_FILE"
|
||||
|
||||
# if word count of changelog chunk is 0 then insert filler changelog chunk
|
||||
if [ "$(wc -w "$CHANGE_CHUNK_FILE" | awk '{ print $1 }')" = "0" ]; then
|
||||
echo "* No significant changes since \`$CURRENT_VERSION\`." >"$CHANGE_CHUNK_FILE"
|
||||
fi
|
||||
|
||||
if [ -n "${2-}" ]; then
|
||||
NEW_VERSION="$2"
|
||||
else
|
||||
echo
|
||||
echo "--- Changes since $CURRENT_VERSION ----"
|
||||
cat "$CHANGE_CHUNK_FILE"
|
||||
echo
|
||||
read -p "Update version to: " NEW_VERSION
|
||||
fi
|
||||
|
||||
DATE="$(date -u +"%Y-%m-%d")"
|
||||
echo "updating from $CURRENT_VERSION => $NEW_VERSION ($DATE)"
|
||||
|
||||
# update package.version field
|
||||
sed -i.bak -E "s/^version ?= ?\"[^\"]+\"$/version = \"$NEW_VERSION\"/" "$CARGO_MANIFEST"
|
||||
|
||||
# update readme
|
||||
[ -f "$README_FILE" ] && sed -i.bak -E "s#$CURRENT_VERSION([/)])#$NEW_VERSION\1#g" "$README_FILE"
|
||||
|
||||
# update changelog file
|
||||
(
|
||||
sed '/Unreleased/ q' "$CHANGELOG_FILE" # up to unreleased heading
|
||||
echo # blank line
|
||||
echo # blank line
|
||||
echo "## $NEW_VERSION - $DATE" # new version heading
|
||||
cat "$CHANGE_CHUNK_FILE" # previously unreleased changes
|
||||
sed "/$CURRENT_VERSION/ q" "$CHANGELOG_FILE" | tail -n 1 # the previous version heading
|
||||
sed "1,/$CURRENT_VERSION/ d" "$CHANGELOG_FILE" # everything after previous version heading
|
||||
) >"$CHANGELOG_FILE.bak"
|
||||
mv "$CHANGELOG_FILE.bak" "$CHANGELOG_FILE"
|
||||
|
||||
# done; remove backup files
|
||||
rm -f $CARGO_MANIFEST.bak
|
||||
rm -f $CHANGELOG_FILE.bak
|
||||
rm -f $README_FILE.bak
|
||||
|
||||
echo "manifest, changelog, and readme updated"
|
||||
echo
|
||||
echo "check other references:"
|
||||
rg "$PACKAGE_NAME =" || true
|
||||
rg "package = \"$PACKAGE_NAME\"" || true
|
||||
|
||||
if [ $MACOS ]; then
|
||||
printf "prepare $PACKAGE_NAME release $NEW_VERSION" | pbcopy
|
||||
else
|
||||
echo
|
||||
echo "commit message:"
|
||||
echo "prepare $PACKAGE_NAME release $NEW_VERSION"
|
||||
fi
|
||||
|
||||
SHORT_PACKAGE_NAME="$(echo $PACKAGE_NAME | sed 's/^actix-web-//' | sed 's/^actix-//')"
|
||||
GIT_TAG="$(echo $SHORT_PACKAGE_NAME-v$NEW_VERSION)"
|
||||
RELEASE_TITLE="$(echo $PACKAGE_NAME: v$NEW_VERSION)"
|
||||
|
||||
echo
|
||||
echo "GitHub release command:"
|
||||
echo "gh release create \"$GIT_TAG\" --draft --title \"$RELEASE_TITLE\" --notes-file \"$CHANGE_CHUNK_FILE\" --prerelease"
|
||||
|
||||
read -p "Submit draft GH release: (y/N) " GH_RELEASE
|
||||
GH_RELEASE="${GH_RELEASE:-n}"
|
||||
|
||||
if [ "$GH_RELEASE" = 'y' ] || [ "$GH_RELEASE" = 'Y' ]; then
|
||||
gh release create "$GIT_TAG" --draft --title "$RELEASE_TITLE" --notes-file "$CHANGE_CHUNK_FILE" --prerelease
|
||||
fi
|
||||
|
||||
echo
|
16
scripts/ci-test.sh
Executable file
16
scripts/ci-test.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
# run tests matching what CI does for non-linux feature sets
|
||||
|
||||
set -x
|
||||
|
||||
cargo test --lib --tests -p=actix-router --all-features
|
||||
cargo test --lib --tests -p=actix-http --all-features
|
||||
cargo test --lib --tests -p=actix-web --features=rustls,openssl -- --skip=test_reading_deflate_encoding_large_random_rustls
|
||||
cargo test --lib --tests -p=actix-web-codegen --all-features
|
||||
cargo test --lib --tests -p=awc --all-features
|
||||
cargo test --lib --tests -p=actix-http-test --all-features
|
||||
cargo test --lib --tests -p=actix-test --all-features
|
||||
cargo test --lib --tests -p=actix-files
|
||||
cargo test --lib --tests -p=actix-multipart --all-features
|
||||
cargo test --lib --tests -p=actix-web-actors --all-features
|
Reference in New Issue
Block a user