Compare commits

...

5 Commits

Author SHA1 Message Date
Taiki Endo
5129b57152 Release 2.6.11 2023-04-11 12:57:05 +09:00
Taiki Endo
3cd0f0ed94 Update release scripts (take 2) 2023-04-11 12:56:52 +09:00
Taiki Endo
1fe1e0ef01 Update dprint@latest to 0.35.4 2023-04-11 12:33:39 +09:00
Taiki Endo
7ef4fec011 Release 2.6.10 2023-04-07 13:34:39 +09:00
github-actions[bot]
a6cd5fac26 Update cargo-deny@latest to 0.13.8 (#99)
Co-authored-by: Taiki Endo <te316e89@gmail.com>
2023-04-07 13:08:04 +10:00
7 changed files with 145 additions and 59 deletions

View File

@@ -21,11 +21,10 @@ jobs:
contents: write
steps:
- uses: actions/checkout@v3
with:
persist-credentials: false
- uses: taiki-e/create-gh-release-action@v1
with:
changelog: CHANGELOG.md
title: $version
branch: 'main|v[0-9]+'
token: ${{ secrets.GITHUB_TOKEN }}
- run: ci/publish.sh

View File

@@ -10,6 +10,14 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased]
## [2.6.11] - 2023-04-11
- Update `dprint@latest` to 0.35.4.
## [2.6.10] - 2023-04-07
- Update `cargo-deny@latest` to 0.13.8.
## [2.6.9] - 2023-04-05
- Update `cargo-llvm-cov@latest` to 0.5.14.
@@ -715,7 +723,9 @@ Note: This release is considered a breaking change because installing on version
Initial release
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.9...HEAD
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.11...HEAD
[2.6.11]: https://github.com/taiki-e/install-action/compare/v2.6.10...v2.6.11
[2.6.10]: https://github.com/taiki-e/install-action/compare/v2.6.9...v2.6.10
[2.6.9]: https://github.com/taiki-e/install-action/compare/v2.6.8...v2.6.9
[2.6.8]: https://github.com/taiki-e/install-action/compare/v2.6.7...v2.6.8
[2.6.7]: https://github.com/taiki-e/install-action/compare/v2.6.6...v2.6.7

View File

@@ -3,6 +3,15 @@ set -euxo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
bail() {
echo >&2 "error: $*"
exit 1
}
if [[ -z "${CI:-}" ]]; then
bail "this script is intended to call from release workflow on CI"
fi
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"

74
ci/publish.sh Executable file
View File

@@ -0,0 +1,74 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
cd "$(dirname "$0")"/..
# shellcheck disable=SC2154
trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}' ERR
bail() {
echo >&2 "error: $*"
exit 1
}
if [[ -z "${CI:-}" ]]; then
bail "this script is intended to call from release workflow on CI"
fi
ref="${GITHUB_REF:-}"
if [[ "${ref}" != "refs/tags/"* ]]; then
bail "tag ref should start with 'refs/tags/'"
fi
tag="${ref#refs/tags/}"
git config user.name "Taiki Endo"
git config user.email "te316e89@gmail.com"
version="${tag}"
version="${version#v}"
tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Aliases
tools+=(nextest)
# Not manifest-base
tools+=(valgrind)
(
set -x
major_version_tag="v${version%%.*}"
git checkout -b "${major_version_tag}"
git push origin refs/heads/"${major_version_tag}"
if git --no-pager tag | grep -Eq "^${major_version_tag}$"; then
git tag -d "${major_version_tag}"
git push --delete origin refs/tags/"${major_version_tag}"
fi
git tag "${major_version_tag}"
git checkout main
git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
git add action.yml
git commit -m "${tool}"
git push origin -f refs/heads/"${tool}"
if git --no-pager tag | grep -Eq "^${tool}$"; then
git tag -d "${tool}"
git push --delete origin refs/tags/"${tool}"
fi
git tag "${tool}"
git checkout main
git branch -D "${tool}"
)
done
set -x
git push origin --tags

View File

@@ -18,10 +18,24 @@
}
},
"latest": {
"version": "0.13.7"
"version": "0.13.8"
},
"0.13": {
"version": "0.13.7"
"version": "0.13.8"
},
"0.13.8": {
"x86_64_linux_musl": {
"checksum": "95b2b7eacc1e93b918969e8d9f25dad49ce079511401308b548f5fceeafeb896"
},
"x86_64_macos": {
"checksum": "950f36ddbb08c0686305f97196b450a99efd3bbea3553746b4f1b9942a5ab2b7"
},
"x86_64_windows": {
"checksum": "5cae60df4ab5a9c949a59f56cf101562b7a962fb2750b5e6aeb47e0d8799e962"
},
"aarch64_macos": {
"checksum": "6eeedd852be234c5b27359e7ce6c7da665511afb5d643c7ce8db660e08ca7bc1"
}
},
"0.13.7": {
"x86_64_linux_musl": {

21
manifests/dprint.json generated
View File

@@ -20,10 +20,27 @@
}
},
"latest": {
"version": "0.35.3"
"version": "0.35.4"
},
"0.35": {
"version": "0.35.3"
"version": "0.35.4"
},
"0.35.4": {
"x86_64_linux_musl": {
"checksum": "a061268da99878970993d988b42de6324aea4cdce437fc1ca46ec51add4162dd"
},
"x86_64_macos": {
"checksum": "179234c542ffc1f26e2dffc62884809d1fd0e781b49f95b938410b1b6450c20c"
},
"x86_64_windows": {
"checksum": "50ac0366c5c20ace37fa2bef11f8826a5f68c1a28412b7751d89e38d7ce6c709"
},
"aarch64_linux_gnu": {
"checksum": "1a810a4c28934b6e281686ae53fe0e1eba973caec245df8004d4452ffc61d306"
},
"aarch64_macos": {
"checksum": "be2a5b698a0a4837a76a7626288a16e1c1f4153463f630845f9def43057f79e2"
}
},
"0.35.3": {
"x86_64_linux_musl": {

View File

@@ -14,6 +14,14 @@ trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
# Note: This script requires the following tools:
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
x() {
local cmd="$1"
shift
(
set -x
"${cmd}" "$@"
)
}
bail() {
echo >&2 "error: $*"
exit 1
@@ -40,6 +48,7 @@ if gh release view "${tag}" &>/dev/null; then
bail "tag '${tag}' has already been created and pushed"
fi
# Make sure that the release was created from an allowed branch.
if ! git branch | grep -q '\* main$'; then
bail "current branch is not 'main'"
fi
@@ -88,57 +97,11 @@ echo "======================================="
if [[ -n "${tags}" ]]; then
# Create a release commit.
git add "${changelog}"
git commit -m "Release ${version}"
x git add "${changelog}"
x git commit -m "Release ${version}"
fi
tools=()
for tool in tools/codegen/base/*.json; do
tools+=("$(basename "${tool%.*}")")
done
# Aliases
tools+=(nextest)
# Not manifest-base
tools+=(valgrind)
(
set -x
git tag "${tag}"
git push origin main
git push origin --tags
major_version_tag="v${version%%.*}"
git checkout -b "${major_version_tag}"
git push origin refs/heads/"${major_version_tag}"
if git --no-pager tag | grep -Eq "^${major_version_tag}$"; then
git tag -d "${major_version_tag}"
git push --delete origin refs/tags/"${major_version_tag}"
fi
git tag "${major_version_tag}"
git checkout main
git branch -d "${major_version_tag}"
)
for tool in "${tools[@]}"; do
(
set -x
git checkout -b "${tool}"
sed -i -e "s/required: true/required: false/g" action.yml
sed -i -e "s/# default: #publish:tool/default: ${tool}/g" action.yml
git add action.yml
git commit -m "${tool}"
git push origin -f refs/heads/"${tool}"
if git --no-pager tag | grep -Eq "^${tool}$"; then
git tag -d "${tool}"
git push --delete origin refs/tags/"${tool}"
fi
git tag "${tool}"
git checkout main
git branch -D "${tool}"
)
done
set -x
git push origin --tags
x git tag "${tag}"
# TODO: the following still assumes admin permissions
x git push origin main
x git push origin --tags