mirror of
https://github.com/alexhopeoconnor/WiFiManager.git
synced 2026-10-04 02:48:13 +10:00
feat: prepare WiFiManager 3.1.0
This commit is contained in:
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
failed=0
|
||||
|
||||
link_pattern='\]\(([^ )]+)'
|
||||
while IFS= read -r file; do
|
||||
in_fence=false
|
||||
while IFS= read -r line || [[ -n "$line" ]]; do
|
||||
if [[ "$line" =~ ^[[:space:]]*\`\`\` ]]; then
|
||||
[[ "$in_fence" == true ]] && in_fence=false || in_fence=true
|
||||
continue
|
||||
fi
|
||||
[[ "$in_fence" == true ]] && continue
|
||||
remainder="$line"
|
||||
while [[ "$remainder" =~ $link_pattern ]]; do
|
||||
target="${BASH_REMATCH[1]}"
|
||||
remainder="${remainder#*]($target)}"
|
||||
case "$target" in
|
||||
\#*|http://*|https://*|mailto:*|tel:*) continue ;;
|
||||
esac
|
||||
target="${target%%#*}"
|
||||
[[ -z "$target" ]] && continue
|
||||
if [[ "$target" == /* ]]; then
|
||||
candidate="$root/${target#/}"
|
||||
else
|
||||
candidate="$(dirname "$file")/$target"
|
||||
fi
|
||||
if [[ ! -e "$candidate" ]]; then
|
||||
printf 'Broken local Markdown link: %s -> %s\n' "${file#$root/}" "$target" >&2
|
||||
failed=1
|
||||
fi
|
||||
done
|
||||
done < "$file"
|
||||
done < <(find "$root" -path "$root/.git" -prune -o -path '*/.pio' -prune -o -type f -name '*.md' -print)
|
||||
|
||||
for required in README.md CHANGELOG.md docs/README.md docs/GETTING_STARTED.md docs/PORTAL_CUSTOMIZATION.md docs/PORTAL_API.md docs/TESTING.md docs/DEVELOPMENT.md; do
|
||||
if [[ ! -f "$root/$required" ]]; then
|
||||
printf 'Missing required documentation file: %s\n' "$required" >&2
|
||||
failed=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$failed" -ne 0 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "WiFiManager documentation checks passed"
|
||||
@@ -19,6 +19,11 @@ if [[ "$manifest_version" != "$version" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
grep -q "^## $version$" "$root/CHANGELOG.md" || {
|
||||
echo "CHANGELOG.md has no $version heading" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [[ -f "$root/library.properties" ]]; then
|
||||
properties_version="$(sed -n 's/^version=//p' "$root/library.properties" | head -n 1)"
|
||||
if [[ "$properties_version" != "$version" ]]; then
|
||||
@@ -27,6 +32,7 @@ if [[ -f "$root/library.properties" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
git -C "$root" diff --check
|
||||
package_dir="$(mktemp -d)"
|
||||
trap 'rm -rf "$package_dir"' EXIT
|
||||
pio pkg pack "$root" --output "$package_dir/package.tar.gz" >/dev/null
|
||||
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
tag="${1:-}"
|
||||
[[ "$tag" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] || {
|
||||
echo "Usage: $0 vMAJOR.MINOR.PATCH" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
version="${tag#v}"
|
||||
notes="$(mktemp)"
|
||||
trap 'rm -f "$notes"' EXIT
|
||||
awk -v heading="## ${version}" '
|
||||
$0 == heading { found = 1; next }
|
||||
found && /^## / { exit }
|
||||
found { print }
|
||||
END { if (!found) exit 1 }
|
||||
' "$root/CHANGELOG.md" > "$notes" || {
|
||||
echo "CHANGELOG.md has no ${version} section" >&2
|
||||
exit 1
|
||||
}
|
||||
if [[ ! -s "$notes" ]]; then
|
||||
echo "No release notes found for $tag in CHANGELOG.md" >&2
|
||||
exit 1
|
||||
fi
|
||||
printf '%s\n\n' "# WiFiManager $tag"
|
||||
cat "$notes"
|
||||
@@ -2,14 +2,13 @@
|
||||
set -euo pipefail
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 --platform esp8266|esp32" >&2
|
||||
echo "Usage: $0 compile --platform esp8266|esp32" >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
[[ "${1:-}" == "--platform" ]] || usage
|
||||
platform="${2:-}"
|
||||
[[ "${1:-}" == "compile" && "${2:-}" == "--platform" && $# -eq 3 ]] || usage
|
||||
platform="${3:-}"
|
||||
[[ "$platform" == "esp8266" || "$platform" == "esp32" ]] || usage
|
||||
[[ $# -eq 2 ]] || usage
|
||||
|
||||
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
pio run -d "$root/test/compile-project" -e "$platform"
|
||||
Reference in New Issue
Block a user