mirror of
https://github.com/taiki-e/install-action.git
synced 2026-05-05 12:40:27 +00:00
Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5129b57152 | ||
|
|
3cd0f0ed94 | ||
|
|
1fe1e0ef01 | ||
|
|
7ef4fec011 | ||
|
|
a6cd5fac26 | ||
|
|
e0b88e5cc1 | ||
|
|
2402df67ca | ||
|
|
4d6942468f | ||
|
|
046c416559 | ||
|
|
88e9b610ea | ||
|
|
af69857b4d | ||
|
|
e0569e0473 | ||
|
|
5ba293a432 | ||
|
|
7282cc8708 | ||
|
|
02416c9844 | ||
|
|
329d41893a | ||
|
|
2336994aba | ||
|
|
71ccc3978d | ||
|
|
28dd623da7 | ||
|
|
1c96e2750b | ||
|
|
b047e58764 | ||
|
|
02aadca714 | ||
|
|
c64d4ba1ed | ||
|
|
f006976e02 | ||
|
|
7570159fcc | ||
|
|
7fed544855 | ||
|
|
9eaa8ca48b | ||
|
|
159a429775 |
@@ -26,7 +26,7 @@
|
|||||||
],
|
],
|
||||||
"ignoreRegExpList": [
|
"ignoreRegExpList": [
|
||||||
// Copyright notice
|
// Copyright notice
|
||||||
"Copyright ((\\(c\\)|\\(C\\)|©) )?.*",
|
"Copyright .*",
|
||||||
// GHA actions/workflows
|
// GHA actions/workflows
|
||||||
"uses: .+@",
|
"uses: .+@",
|
||||||
// GHA context (repo name, owner name, etc.)
|
// GHA context (repo name, owner name, etc.)
|
||||||
@@ -35,6 +35,8 @@
|
|||||||
"( |\\[)@[\\w_-]+",
|
"( |\\[)@[\\w_-]+",
|
||||||
// Git config username
|
// Git config username
|
||||||
"git config user.name .*",
|
"git config user.name .*",
|
||||||
|
// Username in todo comment
|
||||||
|
"(TODO|FIXME)\\([\\w_., -]+\\)",
|
||||||
// Cargo.toml authors
|
// Cargo.toml authors
|
||||||
"authors *= *\\[.*\\]",
|
"authors *= *\\[.*\\]",
|
||||||
"\".* <[\\w_.+-]+@[\\w.-]+>\""
|
"\".* <[\\w_.+-]+@[\\w.-]+>\""
|
||||||
|
|||||||
28
.github/.cspell/organization-dictionary.txt
vendored
28
.github/.cspell/organization-dictionary.txt
vendored
@@ -29,6 +29,7 @@ Zmiri
|
|||||||
|
|
||||||
// Rust target triple
|
// Rust target triple
|
||||||
aarch
|
aarch
|
||||||
|
amdgpu
|
||||||
androideabi
|
androideabi
|
||||||
armeb
|
armeb
|
||||||
armebv
|
armebv
|
||||||
@@ -61,10 +62,12 @@ musleabi
|
|||||||
musleabihf
|
musleabihf
|
||||||
newlibeabihf
|
newlibeabihf
|
||||||
nvptx
|
nvptx
|
||||||
|
ohos
|
||||||
openwrt
|
openwrt
|
||||||
riscv
|
riscv
|
||||||
softfloat
|
softfloat
|
||||||
sparcv
|
sparcv
|
||||||
|
spirv
|
||||||
thumbeb
|
thumbeb
|
||||||
thumbebv
|
thumbebv
|
||||||
thumbv
|
thumbv
|
||||||
@@ -77,30 +80,44 @@ vxworks
|
|||||||
wasi
|
wasi
|
||||||
watchos
|
watchos
|
||||||
xous
|
xous
|
||||||
|
xtensa
|
||||||
|
|
||||||
// Rust other
|
// Rust other
|
||||||
|
aclass
|
||||||
acqrel
|
acqrel
|
||||||
alloc
|
alloc
|
||||||
bools
|
bools
|
||||||
builtins
|
builtins
|
||||||
|
bytecount
|
||||||
canonicalize
|
canonicalize
|
||||||
|
concat
|
||||||
consts
|
consts
|
||||||
|
ctypes
|
||||||
|
dealloc
|
||||||
deque
|
deque
|
||||||
|
docsrs
|
||||||
doctest
|
doctest
|
||||||
|
doctests
|
||||||
hasher
|
hasher
|
||||||
impls
|
impls
|
||||||
inlateout
|
inlateout
|
||||||
intrinsics
|
intrinsics
|
||||||
lateout
|
lateout
|
||||||
|
mclass
|
||||||
|
memcpy
|
||||||
msrv
|
msrv
|
||||||
nand
|
nand
|
||||||
nomem
|
nomem
|
||||||
|
nonoverlapping
|
||||||
|
noreturn
|
||||||
nostack
|
nostack
|
||||||
peekable
|
peekable
|
||||||
punct
|
punct
|
||||||
|
rclass
|
||||||
repr
|
repr
|
||||||
rfind
|
rfind
|
||||||
rfold
|
rfold
|
||||||
|
rposition
|
||||||
rsplit
|
rsplit
|
||||||
rustlib
|
rustlib
|
||||||
seqcst
|
seqcst
|
||||||
@@ -109,14 +126,19 @@ supertrait
|
|||||||
supertraits
|
supertraits
|
||||||
sysroot
|
sysroot
|
||||||
toolchains
|
toolchains
|
||||||
|
turbofish
|
||||||
uninit
|
uninit
|
||||||
unsized
|
unsized
|
||||||
upcastable
|
upcastable
|
||||||
|
|
||||||
// Other
|
// Other
|
||||||
|
armel
|
||||||
|
armhf
|
||||||
|
binutils
|
||||||
connrefused
|
connrefused
|
||||||
cygwin
|
cygwin
|
||||||
dpkg
|
dpkg
|
||||||
|
endianness
|
||||||
euxo
|
euxo
|
||||||
msys
|
msys
|
||||||
noninteractive
|
noninteractive
|
||||||
@@ -127,5 +149,11 @@ objdump
|
|||||||
pipefail
|
pipefail
|
||||||
powerset
|
powerset
|
||||||
proto
|
proto
|
||||||
|
ranlib
|
||||||
readelf
|
readelf
|
||||||
|
shellcheckrc
|
||||||
|
SIGABRT
|
||||||
|
SIGILL
|
||||||
|
SIGINT
|
||||||
|
SIGTERM
|
||||||
tlsv
|
tlsv
|
||||||
|
|||||||
7
.github/.cspell/project-dictionary.txt
vendored
7
.github/.cspell/project-dictionary.txt
vendored
@@ -1,5 +1,4 @@
|
|||||||
binstall
|
binstall
|
||||||
bytecodealliance
|
|
||||||
coreutils
|
coreutils
|
||||||
distro
|
distro
|
||||||
doas
|
doas
|
||||||
@@ -7,21 +6,15 @@ dprint
|
|||||||
enablerepo
|
enablerepo
|
||||||
epel
|
epel
|
||||||
grcov
|
grcov
|
||||||
jfrimmel
|
|
||||||
koalaman
|
|
||||||
libc
|
libc
|
||||||
linkcheck
|
linkcheck
|
||||||
mdbook
|
mdbook
|
||||||
microdnf
|
microdnf
|
||||||
mvdan
|
|
||||||
nextest
|
nextest
|
||||||
protobuf
|
|
||||||
protoc
|
protoc
|
||||||
protocolbuffers
|
|
||||||
pwsh
|
pwsh
|
||||||
quickinstall
|
quickinstall
|
||||||
rockylinux
|
rockylinux
|
||||||
rustwasm
|
|
||||||
shellcheck
|
shellcheck
|
||||||
shfmt
|
shfmt
|
||||||
udeps
|
udeps
|
||||||
|
|||||||
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
|
||||||
|
|||||||
51
CHANGELOG.md
51
CHANGELOG.md
@@ -10,6 +10,46 @@ 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
|
||||||
|
|
||||||
|
- Update `cargo-deny@latest` to 0.13.8.
|
||||||
|
|
||||||
|
## [2.6.9] - 2023-04-05
|
||||||
|
|
||||||
|
- Update `cargo-llvm-cov@latest` to 0.5.14.
|
||||||
|
|
||||||
|
## [2.6.8] - 2023-04-05
|
||||||
|
|
||||||
|
- Update `cargo-tarpaulin@latest` to 0.25.2.
|
||||||
|
|
||||||
|
## [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.
|
||||||
|
|
||||||
|
## [2.6.4] - 2023-03-21
|
||||||
|
|
||||||
|
- Update `wasmtime@latest` to 7.0.0.
|
||||||
|
|
||||||
|
## [2.6.3] - 2023-03-20
|
||||||
|
|
||||||
|
- Update `zola@latest` to 0.17.2.
|
||||||
|
|
||||||
|
- Update `wasm-pack@latest` to 0.11.0.
|
||||||
|
|
||||||
|
- Update `cargo-nextest@latest` to 0.9.51.
|
||||||
|
|
||||||
## [2.6.2] - 2023-03-14
|
## [2.6.2] - 2023-03-14
|
||||||
|
|
||||||
- Update `cargo-binstall@latest` to 0.21.3. This fixes spurious error when accessing crates.io.
|
- Update `cargo-binstall@latest` to 0.21.3. This fixes spurious error when accessing crates.io.
|
||||||
@@ -683,7 +723,16 @@ 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.2...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
|
||||||
|
[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
|
||||||
[2.6.2]: https://github.com/taiki-e/install-action/compare/v2.6.1...v2.6.2
|
[2.6.2]: https://github.com/taiki-e/install-action/compare/v2.6.1...v2.6.2
|
||||||
[2.6.1]: https://github.com/taiki-e/install-action/compare/v2.6.0...v2.6.1
|
[2.6.1]: https://github.com/taiki-e/install-action/compare/v2.6.0...v2.6.1
|
||||||
[2.6.0]: https://github.com/taiki-e/install-action/compare/v2.5.7...v2.6.0
|
[2.6.0]: https://github.com/taiki-e/install-action/compare/v2.5.7...v2.6.0
|
||||||
|
|||||||
@@ -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
|
||||||
16
manifests/cargo-binstall.json
generated
16
manifests/cargo-binstall.json
generated
@@ -20,26 +20,26 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.21.3"
|
"version": "0.22.0"
|
||||||
},
|
},
|
||||||
"0.21.3": {
|
"0.22.0": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
"checksum": "d7a790ac52c9e88d6d52850cd9692db249b6528caed9ea3bda45878043c95550"
|
"checksum": "2238080e5e2c4eae5993de478341af6348e10fd9763a95a77e654e6f28268266"
|
||||||
},
|
},
|
||||||
"x86_64_macos": {
|
"x86_64_macos": {
|
||||||
"checksum": "98a615028e344e0461fcb12f68f5e6381922215a337ea2511aa343546ebffc19"
|
"checksum": "3e87999ab63edf3cdd71a3839bd85661c5dea5d763718668b8b3b35b1ac5dbe0"
|
||||||
},
|
},
|
||||||
"x86_64_windows": {
|
"x86_64_windows": {
|
||||||
"checksum": "b4c1c5a5fff2c713b6f189698064ff85744990f3ed9ab402af1d2b305f859233"
|
"checksum": "f656718d44ca4a09ff2231970edc7878a1aa33b6e15790a4884a758144008e27"
|
||||||
},
|
},
|
||||||
"aarch64_linux_musl": {
|
"aarch64_linux_musl": {
|
||||||
"checksum": "1fc4bcba137534362a40618d9cf9f69777b3e6f5aa9dbcdd09ded6ae5e36c72f"
|
"checksum": "280fc36a0f565d76636aa3aff570c97d1e6fbd6aa08ef315af2cb968054e1d9b"
|
||||||
},
|
},
|
||||||
"aarch64_macos": {
|
"aarch64_macos": {
|
||||||
"checksum": "5dd1ca2b9c0d93e960d0fedcc51a7b217e4683a88afcf4f6e1ec636c3480b013"
|
"checksum": "abb87cb2ef23b552c62dc463777debb31be4a817ef9366509abb245d346e4410"
|
||||||
},
|
},
|
||||||
"aarch64_windows": {
|
"aarch64_windows": {
|
||||||
"checksum": "a70bb9ff8360bd7128870739675aff5b78710e4bb93e96d9577bb6e961828d69"
|
"checksum": "50108bd891a0b6a0044f71d11e09e886a3eec44f4163d44f79a3eed049a484c2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
18
manifests/cargo-deny.json
generated
18
manifests/cargo-deny.json
generated
@@ -18,10 +18,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.13.7"
|
"version": "0.13.8"
|
||||||
},
|
},
|
||||||
"0.13": {
|
"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": {
|
"0.13.7": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
55
manifests/cargo-llvm-cov.json
generated
55
manifests/cargo-llvm-cov.json
generated
@@ -17,10 +17,61 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.5.11"
|
"version": "0.5.14"
|
||||||
},
|
},
|
||||||
"0.5": {
|
"0.5": {
|
||||||
"version": "0.5.11"
|
"version": "0.5.14"
|
||||||
|
},
|
||||||
|
"0.5.14": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "688e56f78611f7866842f5b86e27672225b28c8a536c75d6c0a3fd67082474ea"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "8d4a93175d5ba0710a46ccab007444cea4c53406b4c0b6c6ae6916d1192ac333"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "5773b119db63bbbcb975ecd3e0c71ae548506d85312248d6d3e94758cf88bba6"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "61b22ff22d95ca6af9c668c780fe2a23a519a44d1fab3de01adadfbb36cea54d"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "f98c5d4bc2f7b67328a82028bb78f0a67436ae81a4e2a7911fd4f18f572c434b"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": {
|
"0.5.11": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
21
manifests/cargo-nextest.json
generated
21
manifests/cargo-nextest.json
generated
@@ -17,10 +17,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.9.50"
|
"version": "0.9.51"
|
||||||
},
|
},
|
||||||
"0.9": {
|
"0.9": {
|
||||||
"version": "0.9.50"
|
"version": "0.9.51"
|
||||||
|
},
|
||||||
|
"0.9.51": {
|
||||||
|
"x86_64_linux_gnu": {
|
||||||
|
"checksum": "5cbf80e72737d63a601f139d6ff1c42ca9cf6204cd7991f7d6ce7458f2c12bbc"
|
||||||
|
},
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "2d7def02b6b795b7b44fe2cca9b1b9e77bcb4c8903957ad502f60f45a2f92e9a"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "607c0cac7d659bb957af12a136756821771b9d91f03ccae24b255363e7fcbfda"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "4a97e5ab319af4347549e8414df2af5af7d9f8b4cee8650bad0111d2007711b2"
|
||||||
|
},
|
||||||
|
"aarch64_linux_gnu": {
|
||||||
|
"checksum": "8da18d12f95280bf1a7bde6e13cb8e1e2ea877acc4e826c27ab6c5df653fafca"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.9.50": {
|
"0.9.50": {
|
||||||
"x86_64_linux_gnu": {
|
"x86_64_linux_gnu": {
|
||||||
|
|||||||
21
manifests/cargo-tarpaulin.json
generated
21
manifests/cargo-tarpaulin.json
generated
@@ -17,10 +17,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.25.1"
|
"version": "0.25.2"
|
||||||
},
|
},
|
||||||
"0.25": {
|
"0.25": {
|
||||||
"version": "0.25.1"
|
"version": "0.25.2"
|
||||||
|
},
|
||||||
|
"0.25.2": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "89f0f28baa818f445336da35c204206544b5e1160892ca0d5f50fe034abff771"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "fac48ad01a87435b35a0d04dbb5452929c72e3e28633ab0fb5740a50d113bf64"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "36cf0c7fcf1c1d589720e7409673535e46d734f9abf89ff179c964dbf24f56cc"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "2600c6a6e8f6cdaf374fa492284ade31c4582f40f9c5ede1f726b743e144f9b6"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "3f615f38c18c32d10fdf85b73e5c5ee05c0308566d00d0b117c10175f659c504"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.25.1": {
|
"0.25.1": {
|
||||||
"x86_64_linux_musl": {
|
"x86_64_linux_musl": {
|
||||||
|
|||||||
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": {
|
||||||
|
|||||||
19
manifests/wasm-pack.json
generated
19
manifests/wasm-pack.json
generated
@@ -18,7 +18,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.10.3"
|
"version": "0.11.0"
|
||||||
|
},
|
||||||
|
"0.11": {
|
||||||
|
"version": "0.11.0"
|
||||||
|
},
|
||||||
|
"0.11.0": {
|
||||||
|
"x86_64_linux_musl": {
|
||||||
|
"checksum": "f3041ac5fda684d09b28ca23555c2f24cac9d6eef57ee4ef3f29fdab1c19fe24"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "5da38cb10536e6fe686402f5af94ea48a4b94dca9bde931bf117ddce3e746f0e"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "10092618d9451bace4f727d344f19a02dda4a28ffd527272595f88b8c15efec9"
|
||||||
|
},
|
||||||
|
"aarch64_linux_musl": {
|
||||||
|
"checksum": "ebc6339762f95385081a06ce3ac8d5846e7267011bc028266009cf3b4ff0f81c"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.10": {
|
"0.10": {
|
||||||
"version": "0.10.3"
|
"version": "0.10.3"
|
||||||
|
|||||||
25
manifests/wasmtime.json
generated
25
manifests/wasmtime.json
generated
@@ -22,7 +22,30 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "6.0.1"
|
"version": "7.0.0"
|
||||||
|
},
|
||||||
|
"7": {
|
||||||
|
"version": "7.0.0"
|
||||||
|
},
|
||||||
|
"7.0": {
|
||||||
|
"version": "7.0.0"
|
||||||
|
},
|
||||||
|
"7.0.0": {
|
||||||
|
"x86_64_linux_gnu": {
|
||||||
|
"checksum": "b8a1c97f9107c885ea73a5c38677d0d340a7c26879d366e8a5f3dce84cffec99"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "70596a9f8fcf0b2467877cb184f41f6b451ade4ac74d1e0bb8986bbfbac925b4"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "bf796c35020df2df3a29475949e0330ea3fd47bbfd719d2959564c3e32a8c1a7"
|
||||||
|
},
|
||||||
|
"aarch64_linux_gnu": {
|
||||||
|
"checksum": "723171912c7cd6332c1ac599851dd04dcb107f60a9f18d9d2d3bd319e3c2c6ba"
|
||||||
|
},
|
||||||
|
"aarch64_macos": {
|
||||||
|
"checksum": "8e66af9cb46726f2c9b22f96cd8a08a5f1112d2f02f13f84ff2167444b14366e"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"6": {
|
"6": {
|
||||||
"version": "6.0.1"
|
"version": "6.0.1"
|
||||||
|
|||||||
15
manifests/zola.json
generated
15
manifests/zola.json
generated
@@ -11,10 +11,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"latest": {
|
"latest": {
|
||||||
"version": "0.17.1"
|
"version": "0.17.2"
|
||||||
},
|
},
|
||||||
"0.17": {
|
"0.17": {
|
||||||
"version": "0.17.1"
|
"version": "0.17.2"
|
||||||
|
},
|
||||||
|
"0.17.2": {
|
||||||
|
"x86_64_linux_gnu": {
|
||||||
|
"checksum": "48742322fc0660afb22a4ce194e9b2bd610b5bd36f43abe121e56eb8a704b464"
|
||||||
|
},
|
||||||
|
"x86_64_macos": {
|
||||||
|
"checksum": "5e17a54c9b1db55ae71d49587b399b8b39bdee8cbb4a198ab6449c3e0f9ad21e"
|
||||||
|
},
|
||||||
|
"x86_64_windows": {
|
||||||
|
"checksum": "89c504756a2c34f8540adf7eee83a8f1b61527bc55daa7e42481a0c727cae88f"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"0.17.1": {
|
"0.17.1": {
|
||||||
"x86_64_linux_gnu": {
|
"x86_64_linux_gnu": {
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
@@ -33,6 +34,9 @@ check_diff() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
info() {
|
||||||
|
echo >&2 "info: $*"
|
||||||
|
}
|
||||||
warn() {
|
warn() {
|
||||||
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
||||||
echo "::warning::$*"
|
echo "::warning::$*"
|
||||||
@@ -41,6 +45,14 @@ warn() {
|
|||||||
fi
|
fi
|
||||||
should_fail=1
|
should_fail=1
|
||||||
}
|
}
|
||||||
|
error() {
|
||||||
|
if [[ -n "${GITHUB_ACTIONS:-}" ]]; then
|
||||||
|
echo "::error::$*"
|
||||||
|
else
|
||||||
|
echo >&2 "error: $*"
|
||||||
|
fi
|
||||||
|
should_fail=1
|
||||||
|
}
|
||||||
|
|
||||||
if [[ $# -gt 0 ]]; then
|
if [[ $# -gt 0 ]]; then
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
@@ -70,6 +82,11 @@ if [[ -n "$(git ls-files '*.rs')" ]]; then
|
|||||||
else
|
else
|
||||||
warn "'rustup' is not installed"
|
warn "'rustup' is not installed"
|
||||||
fi
|
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
|
fi
|
||||||
|
|
||||||
# C/C++ (if exists)
|
# C/C++ (if exists)
|
||||||
@@ -103,8 +120,8 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
|||||||
permissions=$(yq '.permissions' "${workflow}" | jq -c)
|
permissions=$(yq '.permissions' "${workflow}" | jq -c)
|
||||||
case "${permissions}" in
|
case "${permissions}" in
|
||||||
'{"contents":"read"}' | '{"contents":"none"}' | '{}') ;;
|
'{"contents":"read"}' | '{"contents":"none"}' | '{}') ;;
|
||||||
null) warn "${workflow}: top level permissions not found; it must be 'contents: read' or weaker permissions" ;;
|
null) error "${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" ;;
|
*) 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
|
esac
|
||||||
# Make sure the 'needs' section is not out of date.
|
# Make sure the 'needs' section is not out of date.
|
||||||
if grep -q '# tidy:needs' "${workflow}" && ! grep -Eq '# *needs: \[' "${workflow}"; then
|
if grep -q '# tidy:needs' "${workflow}" && ! grep -Eq '# *needs: \[' "${workflow}"; then
|
||||||
@@ -117,7 +134,7 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
|||||||
printf -v jobs '%s, ' "${jobs_actual[@]}"
|
printf -v jobs '%s, ' "${jobs_actual[@]}"
|
||||||
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" "${workflow}"
|
sed -i "s/needs: \[.*\] # tidy:needs/needs: [${jobs%, }] # tidy:needs/" "${workflow}"
|
||||||
check_diff "${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
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -127,7 +144,7 @@ if [[ -n "$(git ls-files '*.yml')$(git ls-files '*.js')$(git ls-files '*.json')"
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -n "$(git ls-files '*.yaml')" ]]; then
|
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'
|
git ls-files '*.yaml'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -158,7 +175,9 @@ fi
|
|||||||
# Spell check (if config exists)
|
# Spell check (if config exists)
|
||||||
if [[ -f .cspell.json ]]; then
|
if [[ -f .cspell.json ]]; then
|
||||||
if type -P npm &>/dev/null; then
|
if type -P npm &>/dev/null; then
|
||||||
|
has_rust=''
|
||||||
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
|
if [[ -n "$(git ls-files '*Cargo.toml')" ]]; then
|
||||||
|
has_rust='1'
|
||||||
dependencies=''
|
dependencies=''
|
||||||
for manifest_path in $(git ls-files '*Cargo.toml'); do
|
for manifest_path in $(git ls-files '*Cargo.toml'); do
|
||||||
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
|
if [[ "${manifest_path}" != "Cargo.toml" ]] && ! grep -Eq '\[workspace\]' "${manifest_path}"; then
|
||||||
@@ -166,24 +185,27 @@ if [[ -f .cspell.json ]]; then
|
|||||||
fi
|
fi
|
||||||
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
|
metadata=$(cargo metadata --format-version=1 --all-features --no-deps --manifest-path "${manifest_path}")
|
||||||
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
|
for id in $(jq <<<"${metadata}" '.workspace_members[]'); do
|
||||||
dependencies+=$'\n'
|
dependencies+="$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')"$'\n'
|
||||||
dependencies+=$(jq <<<"${metadata}" ".packages[] | select(.id == ${id})" | jq -r '.dependencies[].name')
|
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
# shellcheck disable=SC2001
|
# shellcheck disable=SC2001
|
||||||
dependencies=$(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u)
|
dependencies=$(sed <<<"${dependencies}" 's/[0-9_-]/\n/g' | LC_ALL=C sort -f -u)
|
||||||
config_old=$(<.cspell.json)
|
|
||||||
config_new=$(grep <<<"${config_old}" -v ' *//' | jq 'del(.dictionaries[] | select(index("organization-dictionary") | not))' | jq 'del(.dictionaryDefinitions[] | select(.name == "organization-dictionary" | not))')
|
|
||||||
echo "${config_new}" >.cspell.json
|
|
||||||
words=$(npx <<<"${dependencies}" cspell stdin --no-progress --no-summary --words-only --unique || true)
|
|
||||||
echo "${config_old}" >.cspell.json
|
|
||||||
fi
|
fi
|
||||||
|
config_old=$(<.cspell.json)
|
||||||
|
config_new=$(grep <<<"${config_old}" -v ' *//' | jq 'del(.dictionaries[] | select(index("organization-dictionary") | not))' | jq 'del(.dictionaryDefinitions[] | select(.name == "organization-dictionary" | not))')
|
||||||
|
echo "${config_new}" >.cspell.json
|
||||||
|
if [[ -n "${has_rust}" ]]; then
|
||||||
|
dependencies_words=$(npx <<<"${dependencies}" cspell stdin --no-progress --no-summary --words-only --unique || true)
|
||||||
|
fi
|
||||||
|
all_words=$(npx cspell --no-progress --no-summary --words-only --unique $(git ls-files | (grep -v '\.github/\.cspell/project-dictionary\.txt' || true)) || true)
|
||||||
|
# TODO: handle SIGINT
|
||||||
|
echo "${config_old}" >.cspell.json
|
||||||
cat >.github/.cspell/rust-dependencies.txt <<EOF
|
cat >.github/.cspell/rust-dependencies.txt <<EOF
|
||||||
// This file is @generated by $(basename "$0").
|
// This file is @generated by $(basename "$0").
|
||||||
// It is not intended for manual editing.
|
// It is not intended for manual editing.
|
||||||
EOF
|
EOF
|
||||||
if [[ -n "${words:-}" ]]; then
|
if [[ -n "${dependencies_words:-}" ]]; then
|
||||||
echo $'\n'"${words}" >>.github/.cspell/rust-dependencies.txt
|
echo $'\n'"${dependencies_words}" >>.github/.cspell/rust-dependencies.txt
|
||||||
fi
|
fi
|
||||||
check_diff .github/.cspell/rust-dependencies.txt
|
check_diff .github/.cspell/rust-dependencies.txt
|
||||||
if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then
|
if ! grep -Eq "^\.github/\.cspell/rust-dependencies.txt linguist-generated" .gitattributes; then
|
||||||
@@ -191,20 +213,37 @@ EOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "+ npx cspell --no-progress --no-summary \$(git ls-files)"
|
echo "+ npx cspell --no-progress --no-summary \$(git ls-files)"
|
||||||
npx cspell --no-progress --no-summary $(git ls-files)
|
if ! npx cspell --no-progress --no-summary $(git ls-files); then
|
||||||
|
error "spellcheck failed: please fix uses of above words or add to .github/.cspell/project-dictionary.txt if correct"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make sure the project-specific dictionary does not contain duplicated words.
|
||||||
for dictionary in .github/.cspell/*.txt; do
|
for dictionary in .github/.cspell/*.txt; do
|
||||||
if [[ "${dictionary}" == .github/.cspell/project-dictionary.txt ]]; then
|
if [[ "${dictionary}" == .github/.cspell/project-dictionary.txt ]]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
dup=$(sed '/^$/d' .github/.cspell/project-dictionary.txt "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
|
dup=$(sed '/^$/d' .github/.cspell/project-dictionary.txt "${dictionary}" | LC_ALL=C sort -f | uniq -d -i | (grep -v '//.*' || true))
|
||||||
if [[ -n "${dup}" ]]; then
|
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 "======================================="
|
||||||
echo "${dup}"
|
echo "${dup}"
|
||||||
echo "======================================="
|
echo "======================================="
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Make sure the project-specific dictionary does not contain unused words.
|
||||||
|
unused=''
|
||||||
|
for word in $(grep -v '//.*' .github/.cspell/project-dictionary.txt || true); do
|
||||||
|
if ! grep <<<"${all_words}" -Eq -i "^${word}$"; then
|
||||||
|
unused+="${word}"$'\n'
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -n "${unused}" ]]; then
|
||||||
|
error "unused words in dictionaries; please remove the following words from .github/.cspell/project-dictionary.txt"
|
||||||
|
echo "======================================="
|
||||||
|
echo -n "${unused}"
|
||||||
|
echo "======================================="
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
warn "'npm' is not installed"
|
warn "'npm' is not installed"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user