mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-16 09:00:23 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5129b57152 | ||
|
|
3cd0f0ed94 | ||
|
|
1fe1e0ef01 |
3
.github/workflows/release.yml
vendored
3
.github/workflows/release.yml
vendored
@@ -21,11 +21,10 @@ jobs:
|
|||||||
contents: write
|
contents: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
with:
|
|
||||||
persist-credentials: false
|
|
||||||
- uses: taiki-e/create-gh-release-action@v1
|
- uses: taiki-e/create-gh-release-action@v1
|
||||||
with:
|
with:
|
||||||
changelog: CHANGELOG.md
|
changelog: CHANGELOG.md
|
||||||
title: $version
|
title: $version
|
||||||
branch: 'main|v[0-9]+'
|
branch: 'main|v[0-9]+'
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
- run: ci/publish.sh
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [2.6.11] - 2023-04-11
|
||||||
|
|
||||||
|
- Update `dprint@latest` to 0.35.4.
|
||||||
|
|
||||||
## [2.6.10] - 2023-04-07
|
## [2.6.10] - 2023-04-07
|
||||||
|
|
||||||
- Update `cargo-deny@latest` to 0.13.8.
|
- Update `cargo-deny@latest` to 0.13.8.
|
||||||
@@ -719,7 +723,8 @@ Note: This release is considered a breaking change because installing on version
|
|||||||
|
|
||||||
Initial release
|
Initial release
|
||||||
|
|
||||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.10...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.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.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.8]: https://github.com/taiki-e/install-action/compare/v2.6.7...v2.6.8
|
||||||
|
|||||||
@@ -3,6 +3,15 @@ set -euxo pipefail
|
|||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
cd "$(dirname "$0")"/..
|
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.name "Taiki Endo"
|
||||||
git config user.email "te316e89@gmail.com"
|
git config user.email "te316e89@gmail.com"
|
||||||
|
|
||||||
|
|||||||
74
ci/publish.sh
Executable file
74
ci/publish.sh
Executable 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
|
||||||
21
manifests/dprint.json
generated
21
manifests/dprint.json
generated
@@ -20,10 +20,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.35.3"
|
"version": "0.35.4"
|
||||||
},
|
},
|
||||||
"0.35": {
|
"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": {
|
"0.35.3": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
@@ -14,6 +14,14 @@ trap 's=$?; echo >&2 "$0: Error on line "${LINENO}": ${BASH_COMMAND}"; exit ${s}
|
|||||||
# Note: This script requires the following tools:
|
# Note: This script requires the following tools:
|
||||||
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
|
# - parse-changelog <https://github.com/taiki-e/parse-changelog>
|
||||||
|
|
||||||
|
x() {
|
||||||
|
local cmd="$1"
|
||||||
|
shift
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
"${cmd}" "$@"
|
||||||
|
)
|
||||||
|
}
|
||||||
bail() {
|
bail() {
|
||||||
echo >&2 "error: $*"
|
echo >&2 "error: $*"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -40,6 +48,7 @@ if gh release view "${tag}" &>/dev/null; then
|
|||||||
bail "tag '${tag}' has already been created and pushed"
|
bail "tag '${tag}' has already been created and pushed"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Make sure that the release was created from an allowed branch.
|
||||||
if ! git branch | grep -q '\* main$'; then
|
if ! git branch | grep -q '\* main$'; then
|
||||||
bail "current branch is not 'main'"
|
bail "current branch is not 'main'"
|
||||||
fi
|
fi
|
||||||
@@ -88,57 +97,11 @@ echo "======================================="
|
|||||||
|
|
||||||
if [[ -n "${tags}" ]]; then
|
if [[ -n "${tags}" ]]; then
|
||||||
# Create a release commit.
|
# Create a release commit.
|
||||||
git add "${changelog}"
|
x git add "${changelog}"
|
||||||
git commit -m "Release ${version}"
|
x git commit -m "Release ${version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
tools=()
|
x git tag "${tag}"
|
||||||
for tool in tools/codegen/base/*.json; do
|
# TODO: the following still assumes admin permissions
|
||||||
tools+=("$(basename "${tool%.*}")")
|
x git push origin main
|
||||||
done
|
x git push origin --tags
|
||||||
# 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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user