docs: require human release notes
This commit is contained in:
parent
f00deb3d2a
commit
ac268e5c57
|
|
@ -0,0 +1,5 @@
|
||||||
|
## Highlights
|
||||||
|
|
||||||
|
- The Firefox package no longer requests a permission unsupported by Firefox.
|
||||||
|
- Popup operation errors and the language selector are localized and use the extension's visual style.
|
||||||
|
- The release includes the signed XPI and `updates.json` for GitHub-hosted Firefox updates.
|
||||||
|
|
@ -7,6 +7,7 @@ cd "$ROOT_DIR"
|
||||||
REPOSITORY="mirivlad/verstak-browser-extension"
|
REPOSITORY="mirivlad/verstak-browser-extension"
|
||||||
SOURCE_DIR="${VERSTAK_FIREFOX_SOURCE_DIR:-dist/firefox}"
|
SOURCE_DIR="${VERSTAK_FIREFOX_SOURCE_DIR:-dist/firefox}"
|
||||||
RELEASE_DIR="${VERSTAK_FIREFOX_RELEASE_DIR:-release/firefox}"
|
RELEASE_DIR="${VERSTAK_FIREFOX_RELEASE_DIR:-release/firefox}"
|
||||||
|
RELEASE_NOTES_DIR="${VERSTAK_RELEASE_NOTES_DIR:-release-notes}"
|
||||||
GIT_BIN="${GIT_BIN:-git}"
|
GIT_BIN="${GIT_BIN:-git}"
|
||||||
GH_BIN="${GH_BIN:-gh}"
|
GH_BIN="${GH_BIN:-gh}"
|
||||||
|
|
||||||
|
|
@ -57,12 +58,21 @@ fi
|
||||||
if "$GH_BIN" release view "$TAG" --repo "$REPOSITORY" >/dev/null 2>&1; then
|
if "$GH_BIN" release view "$TAG" --repo "$REPOSITORY" >/dev/null 2>&1; then
|
||||||
"$GH_BIN" release upload "$TAG" "$XPI" "$UPDATES" --repo "$REPOSITORY" --clobber
|
"$GH_BIN" release upload "$TAG" "$XPI" "$UPDATES" --repo "$REPOSITORY" --clobber
|
||||||
else
|
else
|
||||||
|
NOTES_FILE="$RELEASE_NOTES_DIR/$TAG.md"
|
||||||
|
if [[ ! -s "$NOTES_FILE" ]]; then
|
||||||
|
echo "ERROR: human-readable release notes are required: $NOTES_FILE" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE_OPTIONS=(--notes-file "$NOTES_FILE" --generate-notes --latest --verify-tag)
|
||||||
|
PREVIOUS_TAG="$("$GIT_BIN" describe --tags --abbrev=0 "${HEAD}^" 2>/dev/null || true)"
|
||||||
|
if [[ -n "$PREVIOUS_TAG" ]]; then
|
||||||
|
RELEASE_OPTIONS+=(--notes-start-tag "$PREVIOUS_TAG")
|
||||||
|
fi
|
||||||
"$GH_BIN" release create "$TAG" "$XPI" "$UPDATES" \
|
"$GH_BIN" release create "$TAG" "$XPI" "$UPDATES" \
|
||||||
--repo "$REPOSITORY" \
|
--repo "$REPOSITORY" \
|
||||||
--title "Verstak Browser Extension $VERSION" \
|
--title "Verstak Browser Extension $VERSION" \
|
||||||
--generate-notes \
|
"${RELEASE_OPTIONS[@]}"
|
||||||
--latest \
|
|
||||||
--verify-tag
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "GitHub release:"
|
echo "GitHub release:"
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,9 @@ assert.match(publisher, /release create/);
|
||||||
assert.match(publisher, /release upload/);
|
assert.match(publisher, /release upload/);
|
||||||
assert.match(publisher, /--clobber/);
|
assert.match(publisher, /--clobber/);
|
||||||
assert.match(publisher, /--latest/);
|
assert.match(publisher, /--latest/);
|
||||||
|
assert.match(publisher, /--notes-file/);
|
||||||
|
assert.match(publisher, /--generate-notes/);
|
||||||
|
assert.match(publisher, /--notes-start-tag/);
|
||||||
|
|
||||||
const genericPublisher = fs.readFileSync('scripts/publish-github-release.sh', 'utf8');
|
const genericPublisher = fs.readFileSync('scripts/publish-github-release.sh', 'utf8');
|
||||||
assert.match(genericPublisher, /publish-firefox-github-release\.sh/);
|
assert.match(genericPublisher, /publish-firefox-github-release\.sh/);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue