From c13788132b5a3dc07eed23b9fe114902b44f6b83 Mon Sep 17 00:00:00 2001 From: Michael Chus Date: Sun, 15 Feb 2026 22:23:53 +0300 Subject: [PATCH] Add release script and release notes (no artifacts) --- .gitignore | 5 ++ releases/v1.3.0-dirty/RELEASE_NOTES.md | 13 ++++ releases/v1.3.0/RELEASE_NOTES.md | 42 ++++++++++ scripts/release.sh | 102 +++++++++++++++++++++++++ 4 files changed, 162 insertions(+) create mode 100644 releases/v1.3.0-dirty/RELEASE_NOTES.md create mode 100644 releases/v1.3.0/RELEASE_NOTES.md create mode 100755 scripts/release.sh diff --git a/.gitignore b/.gitignore index 8a4929c..00d652f 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,8 @@ go.work.sum # Distribution binaries dist/ + +# Release artifacts +releases/**/SHA256SUMS.txt +releases/**/*.tar.gz +releases/**/*.zip diff --git a/releases/v1.3.0-dirty/RELEASE_NOTES.md b/releases/v1.3.0-dirty/RELEASE_NOTES.md new file mode 100644 index 0000000..48ba361 --- /dev/null +++ b/releases/v1.3.0-dirty/RELEASE_NOTES.md @@ -0,0 +1,13 @@ +# logpile v1.3.0-dirty + +Дата релиза: 2026-02-15 +Тег: `v1.3.0-dirty` + +## Что нового + +- TODO: опишите ключевые изменения релиза. + +## Запуск на macOS + +Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64` +После этого бинарник запустится без предупреждения Gatekeeper. diff --git a/releases/v1.3.0/RELEASE_NOTES.md b/releases/v1.3.0/RELEASE_NOTES.md new file mode 100644 index 0000000..c66580c --- /dev/null +++ b/releases/v1.3.0/RELEASE_NOTES.md @@ -0,0 +1,42 @@ +# Release v1.3.0 + +Previous tag: `v1.2.1` +Diff range: `v1.2.1..v1.3.0` + +## Summary +This release expands parser coverage, adds Reanimator export capabilities, and improves resilience of archive ingestion and diagnostics parsing. + +## What's New +- Added XigmaNAS log parser, vendor registration, and extended event parsing. +- Added Unraid diagnostics parser and improved zip upload handling. +- Added GPU serial number extraction for NVIDIA diagnostics. +- Added Reanimator export format support. +- Added integration guide and example generator. + +## Improvements +- Updated parser behavior and project handling. +- Aligned Reanimator export behavior with integration guide updates. +- Improved handling of TXT uploads. + +## Fixes +- Fixed NVIDIA GPU serial number format extraction. +- Fixed NVIDIA GPU/NVSwitch parsing and Reanimator export statuses. +- Hardened zip reader and syslog scan logic. +- Removed unused local test/build artifacts. + +## Commits Since `v1.2.1` +- `5e49ada` Update parser and project changes +- `c7b2a7a` Fix NVIDIA GPU/NVSwitch parsing and Reanimator export statuses +- `0af3cee` Add integration guide, example generator, and built binary +- `8715fca` Align Reanimator export with updated integration guide +- `1b1bc74` Add Reanimator format export support +- `77e25dd` Fix NVIDIA GPU serial number format extraction +- `bcce975` Add GPU serial number extraction for NVIDIA diagnostics +- `8b065c6` Harden zip reader and syslog scan +- `aa22034` Add Unraid diagnostics parser and fix zip upload support +- `7d9135d` Merge branch 'main' of https://git.mchus.pro/mchus/logpile +- `80e726d` chore: remove unused local test and build artifacts +- `92134a6` Support TXT uploads and extend XigmaNAS event parsing +- `ae588ae` Register xigmanas vendor parser +- `b64a8d8` Add XigmaNAS log parser and tests +- `f9230e1` Update README and CLAUDE docs for current Redfish workflow diff --git a/scripts/release.sh b/scripts/release.sh new file mode 100755 index 0000000..0b685f0 --- /dev/null +++ b/scripts/release.sh @@ -0,0 +1,102 @@ +#!/bin/bash +set -e + +# logpile Release Build Script +# Creates binaries for selected platforms and packages them for release + +# Colors +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Get version from git +VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev") +if [[ $VERSION == *"dirty"* ]] && [[ "${ALLOW_DIRTY}" != "1" ]]; then + echo -e "${RED}Error: Working directory has uncommitted changes${NC}" + echo "Commit your changes first (or run with ALLOW_DIRTY=1)" + exit 1 +fi + +echo -e "${GREEN}Building logpile version: ${VERSION}${NC}" +echo "" + +# Stable build env for this machine/toolchain +export GOPATH="${GOPATH:-/tmp/go}" +export GOCACHE="${GOCACHE:-/tmp/gocache}" +export GOTOOLCHAIN="${GOTOOLCHAIN:-go1.22.12}" +mkdir -p "${GOPATH}" "${GOCACHE}" + +# Create release directory +RELEASE_DIR="releases/${VERSION}" +mkdir -p "${RELEASE_DIR}" + +# Create release notes template (always include macOS Gatekeeper note) +if [ ! -f "${RELEASE_DIR}/RELEASE_NOTES.md" ]; then +cat > "${RELEASE_DIR}/RELEASE_NOTES.md" < SHA256SUMS.txt 2>/dev/null || shasum -a 256 * | grep -v SHA256SUMS > SHA256SUMS.txt +cd ../.. +echo -e "${GREEN} SHA256SUMS.txt${NC}" + +# List release files +echo "" +echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" +echo -e "${GREEN}Release ${VERSION} built successfully!${NC}" +echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" +echo "" +echo "Files in ${RELEASE_DIR}:" +ls -lh "${RELEASE_DIR}" +echo "" + +echo -e "${GREEN}Done!${NC}"