Compare commits

...

14 Commits

Author SHA1 Message Date
Taiki Endo
02416c9844 Release 2.6.6 2023-04-03 06:32:46 +09:00
Taiki Endo
329d41893a Update cargo-llvm-cov@latest to 0.5.12 2023-04-03 06:31:57 +09:00
Taiki Endo
2336994aba Update release scripts 2023-04-03 05:52:57 +09:00
Taiki Endo
71ccc3978d Update cspell dictionary 2023-04-03 05:51:47 +09:00
Taiki Endo
28dd623da7 Ignore username in todo comment in spell-check 2023-03-30 22:39:28 +09:00
Taiki Endo
1c96e2750b Release 2.6.5 2023-03-25 23:30:54 +09:00
Taiki Endo
b047e58764 Update cspell dictionary 2023-03-25 23:30:17 +09:00
Taiki Endo
02aadca714 Update cargo-binstall@latest to 0.22.0 2023-03-23 17:50:30 +09:00
Taiki Endo
c64d4ba1ed Release 2.6.4 2023-03-21 13:28:01 +09:00
Taiki Endo
f006976e02 Update wasmtime@latest to 7.0.0 2023-03-21 13:27:11 +09:00
Taiki Endo
7570159fcc Release 2.6.3 2023-03-20 12:23:55 +09:00
Taiki Endo
7fed544855 Update zola@latest to 0.17.2 2023-03-20 12:22:33 +09:00
Taiki Endo
9eaa8ca48b Update wasm-pack@latest to 0.11.0 2023-03-20 12:22:33 +09:00
Taiki Endo
159a429775 Update cargo-nextest@latest to 0.9.51 2023-03-20 12:22:33 +09:00
14 changed files with 268 additions and 75 deletions

View File

@@ -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.-]+>\""

View File

@@ -61,6 +61,7 @@ musleabi
musleabihf musleabihf
newlibeabihf newlibeabihf
nvptx nvptx
ohos
openwrt openwrt
riscv riscv
softfloat softfloat
@@ -77,30 +78,42 @@ vxworks
wasi wasi
watchos watchos
xous xous
xtensa
// Rust other // Rust other
aclass
acqrel acqrel
alloc alloc
bools bools
builtins builtins
bytecount
canonicalize canonicalize
consts consts
ctypes
dealloc
deque deque
docsrs
doctest doctest
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 +122,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
@@ -128,4 +146,8 @@ pipefail
powerset powerset
proto proto
readelf readelf
SIGABRT
SIGILL
SIGINT
SIGTERM
tlsv tlsv

View File

@@ -29,3 +29,4 @@ jobs:
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

View File

@@ -10,6 +10,26 @@ Note: In this file, do not use the hard wrap in the middle of a sentence for com
## [Unreleased] ## [Unreleased]
## [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 +703,11 @@ 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.6...HEAD
[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

View File

@@ -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
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

@@ -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"
} }
} }
} }

View File

@@ -17,10 +17,27 @@
} }
}, },
"latest": { "latest": {
"version": "0.5.11" "version": "0.5.12"
}, },
"0.5": { "0.5": {
"version": "0.5.11" "version": "0.5.12"
},
"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": {

View File

@@ -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": {

View File

@@ -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"

View File

@@ -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
View File

@@ -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": {

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: # 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

View File

@@ -41,6 +41,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 +78,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 +116,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 +130,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 +140,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
@@ -199,7 +212,7 @@ EOF
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 "======================================="