mirror of
https://github.com/taiki-e/install-action.git
synced 2026-04-27 09:30:29 +00:00
Compare commits
9 Commits
release-gu
...
v2.6.7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af69857b4d | ||
|
|
e0569e0473 | ||
|
|
5ba293a432 | ||
|
|
7282cc8708 | ||
|
|
02416c9844 | ||
|
|
329d41893a | ||
|
|
2336994aba | ||
|
|
71ccc3978d | ||
|
|
28dd623da7 |
@@ -26,7 +26,7 @@
|
||||
],
|
||||
"ignoreRegExpList": [
|
||||
// Copyright notice
|
||||
"Copyright ((\\(c\\)|\\(C\\)|©) )?.*",
|
||||
"Copyright .*",
|
||||
// GHA actions/workflows
|
||||
"uses: .+@",
|
||||
// GHA context (repo name, owner name, etc.)
|
||||
@@ -35,6 +35,8 @@
|
||||
"( |\\[)@[\\w_-]+",
|
||||
// Git config username
|
||||
"git config user.name .*",
|
||||
// Username in todo comment
|
||||
"(TODO|FIXME)\\([\\w_., -]+\\)",
|
||||
// Cargo.toml authors
|
||||
"authors *= *\\[.*\\]",
|
||||
"\".* <[\\w_.+-]+@[\\w.-]+>\""
|
||||
|
||||
8
.github/.cspell/organization-dictionary.txt
vendored
8
.github/.cspell/organization-dictionary.txt
vendored
@@ -29,6 +29,7 @@ Zmiri
|
||||
|
||||
// Rust target triple
|
||||
aarch
|
||||
amdgpu
|
||||
androideabi
|
||||
armeb
|
||||
armebv
|
||||
@@ -61,6 +62,7 @@ musleabi
|
||||
musleabihf
|
||||
newlibeabihf
|
||||
nvptx
|
||||
ohos
|
||||
openwrt
|
||||
riscv
|
||||
softfloat
|
||||
@@ -85,6 +87,7 @@ acqrel
|
||||
alloc
|
||||
bools
|
||||
builtins
|
||||
bytecount
|
||||
canonicalize
|
||||
consts
|
||||
ctypes
|
||||
@@ -98,6 +101,7 @@ inlateout
|
||||
intrinsics
|
||||
lateout
|
||||
mclass
|
||||
memcpy
|
||||
msrv
|
||||
nand
|
||||
nomem
|
||||
@@ -110,6 +114,7 @@ rclass
|
||||
repr
|
||||
rfind
|
||||
rfold
|
||||
rposition
|
||||
rsplit
|
||||
rustlib
|
||||
seqcst
|
||||
@@ -124,6 +129,8 @@ unsized
|
||||
upcastable
|
||||
|
||||
// Other
|
||||
armel
|
||||
armhf
|
||||
binutils
|
||||
connrefused
|
||||
cygwin
|
||||
@@ -139,6 +146,7 @@ objdump
|
||||
pipefail
|
||||
powerset
|
||||
proto
|
||||
ranlib
|
||||
readelf
|
||||
SIGABRT
|
||||
SIGILL
|
||||
|
||||
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -29,4 +29,3 @@ jobs:
|
||||
title: $version
|
||||
branch: 'main|v[0-9]+'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: ci/publish.sh
|
||||
|
||||
12
CHANGELOG.md
12
CHANGELOG.md
@@ -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.7] - 2023-04-04
|
||||
|
||||
- Update `cargo-llvm-cov@latest` to 0.5.13.
|
||||
|
||||
## [2.6.6] - 2023-04-02
|
||||
|
||||
- Update `cargo-llvm-cov@latest` to 0.5.12.
|
||||
|
||||
## [2.6.5] - 2023-03-25
|
||||
|
||||
- Update `cargo-binstall@latest` to 0.22.0.
|
||||
@@ -699,7 +707,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.5...HEAD
|
||||
[Unreleased]: https://github.com/taiki-e/install-action/compare/v2.6.7...HEAD
|
||||
[2.6.7]: https://github.com/taiki-e/install-action/compare/v2.6.6...v2.6.7
|
||||
[2.6.6]: https://github.com/taiki-e/install-action/compare/v2.6.5...v2.6.6
|
||||
[2.6.5]: https://github.com/taiki-e/install-action/compare/v2.6.4...v2.6.5
|
||||
[2.6.4]: https://github.com/taiki-e/install-action/compare/v2.6.3...v2.6.4
|
||||
[2.6.3]: https://github.com/taiki-e/install-action/compare/v2.6.2...v2.6.3
|
||||
|
||||
@@ -17,31 +17,3 @@ See JSON files in `tools/codegen/base` directory for examples of the manifest.
|
||||
3\. Add tool name to test matrix in `.github/workflows/ci.yml`.
|
||||
|
||||
4\. Add tool name to table in "Supported tools" section in `README.md`.
|
||||
|
||||
## Release new version
|
||||
|
||||
Note: This is a guide for maintainers.
|
||||
|
||||
### Minor version vs patch version
|
||||
|
||||
Increase the patch version if only the following changes are included.
|
||||
|
||||
- Update the `@latest` version of the tool.
|
||||
|
||||
Rationale: Normally, tool versions are controlled by the `@<version>` syntax, which is explicitly separated from the versioning of the install-action itself.
|
||||
|
||||
Exception: If the major or minor version of the `cargo-binstall` is updated, the minor version should be increased because the behavior of the fallback may change slightly.
|
||||
|
||||
- Fix regressions or minor bugs.
|
||||
|
||||
Rationale: Semantic Versioning.
|
||||
|
||||
- Improve documentation or diagnostics.
|
||||
|
||||
Rationale: Semantic Versioning.
|
||||
|
||||
Increase the minor version otherwise.
|
||||
|
||||
### Release instructions
|
||||
|
||||
TODO: current release script assumes admin permissions
|
||||
|
||||
@@ -3,15 +3,6 @@ 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"
|
||||
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/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
|
||||
38
manifests/cargo-llvm-cov.json
generated
38
manifests/cargo-llvm-cov.json
generated
@@ -17,10 +17,44 @@
|
||||
}
|
||||
},
|
||||
"latest": {
|
||||
"version": "0.5.11"
|
||||
"version": "0.5.13"
|
||||
},
|
||||
"0.5": {
|
||||
"version": "0.5.11"
|
||||
"version": "0.5.13"
|
||||
},
|
||||
"0.5.13": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "e57875cba95527149d15d7f9c66b9d624d8154040f19aedbca96e2c6b7687ffb"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "f694bcaf714f352b76182b0aeec9626ca5280ceca275f949caa762a561030350"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "642046071c3c221748a3a6a08b5c7d71d7644928d4d7707fa30b38da8357f074"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"checksum": "d9173b2aae99f29276cd7d84ffdea9eb29f8831acd3f9d9de1c2af4366d917df"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "b9bb4d03065c4d7e52ed4148d71d36a4c890dee37108addfa9ba19771e46fa1d"
|
||||
}
|
||||
},
|
||||
"0.5.12": {
|
||||
"x86_64_linux_musl": {
|
||||
"checksum": "998b1d9e630295459743fe7051a7e3d04e82836456171493eb5983dde710b07e"
|
||||
},
|
||||
"x86_64_macos": {
|
||||
"checksum": "77faedad91c300b51d2d40040a6c61903a555da319047983ec56c81598cbea9b"
|
||||
},
|
||||
"x86_64_windows": {
|
||||
"checksum": "5d0d3df674a431272f75e77dd2c07fdbc5ee83ade11c0839bbd0fdae35480351"
|
||||
},
|
||||
"aarch64_linux_musl": {
|
||||
"checksum": "87c54166055d2d486620ceb27440442d34d71b364fdd6f6da57a210ae5f75e33"
|
||||
},
|
||||
"aarch64_macos": {
|
||||
"checksum": "05c8f8e2210a3218b167dce33477785a0bc0c718fac7b15d2f4a428791234f03"
|
||||
}
|
||||
},
|
||||
"0.5.11": {
|
||||
"x86_64_linux_musl": {
|
||||
|
||||
@@ -14,14 +14,6 @@ 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
|
||||
@@ -48,7 +40,6 @@ 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
|
||||
@@ -97,11 +88,57 @@ echo "======================================="
|
||||
|
||||
if [[ -n "${tags}" ]]; then
|
||||
# Create a release commit.
|
||||
x git add "${changelog}"
|
||||
x git commit -m "Release ${version}"
|
||||
git add "${changelog}"
|
||||
git commit -m "Release ${version}"
|
||||
fi
|
||||
|
||||
x git tag "${tag}"
|
||||
# TODO: the following still assumes admin permissions
|
||||
x git push origin main
|
||||
x git push origin --tags
|
||||
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
|
||||
|
||||
@@ -41,6 +41,14 @@ warn() {
|
||||
fi
|
||||
should_fail=1
|
||||
}
|
||||
error() {
|
||||
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
||||
echo "::error::$*"
|
||||
else
|
||||
echo >&2 "error: $*"
|
||||
fi
|
||||
should_fail=1
|
||||
}
|
||||
|
||||
if [[ $# -gt 0 ]]; then
|
||||
cat <<EOF
|
||||
@@ -70,6 +78,11 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
|
||||
else
|
||||
warn "'rustup' is not installed"
|
||||
fi
|
||||
cast_without_turbofish=$(grep -n -E '\.cast\(\)' $(git ls-files '*.rs') || true)
|
||||
if [[ -n "${cast_without_turbofish}" ]]; then
|
||||
error "please replace \`.cast()\` with \`.cast::<type_name>()\`:"
|
||||
echo "${cast_without_turbofish}"
|
||||
fi
|
||||
fi
|
||||
|
||||
# C/C++ (if exists)
|
||||
@@ -103,8 +116,8 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
||||
permissions=$(yq '.permissions' "${workflow}" | jq -c)
|
||||
case "${permissions}" in
|
||||
'{"contents":"read"}' | '{"contents":"none"}' | '{}') ;;
|
||||
null) warn "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
|
||||
*) warn "${workflow}: only 'contents: read' and weaker permissions are allowed at top level; if you want to use stronger permissions, please set job-level permissions" ;;
|
||||
null) error "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
|
||||
*) error "${workflow}: only 'contents: read' and weaker permissions are allowed at top level; if you want to use stronger permissions, please set job-level permissions" ;;
|
||||
esac
|
||||
# Make sure the 'needs' section is not out of date.
|
||||
if grep -q '# tidy:needs' "${workflow}" && ! grep -Eq '# *needs: \[' "${workflow}"; then
|
||||
@@ -117,7 +130,7 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
||||
printf -v jobs '%s, ' "${jobs_actual[@]}"
|
||||
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" "${workflow}"
|
||||
check_diff "${workflow}"
|
||||
warn "${workflow}: please update 'needs' section in 'ci-success' job"
|
||||
error "${workflow}: please update 'needs' section in 'ci-success' job"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
@@ -127,7 +140,7 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
||||
fi
|
||||
fi
|
||||
if [[ -n "$(git ls-files '*.yaml')" ]]; then
|
||||
warn "please use '.yml' instead of '.yaml' for consistency"
|
||||
error "please use '.yml' instead of '.yaml' for consistency"
|
||||
git ls-files '*.yaml'
|
||||
fi
|
||||
|
||||
@@ -199,7 +212,7 @@ EOF
|
||||
fi
|
||||
dup=$(sed '/^$/d' .github/.cspell/project-dictionary.txt "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
|
||||
if [[ -n "${dup}" ]]; then
|
||||
warn "duplicated words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
|
||||
error "duplicated words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
|
||||
echo "======================================="
|
||||
echo "${dup}"
|
||||
echo "======================================="
|
||||
|
||||
Reference in New Issue
Block a user