All of lore.kernel.org
 help / color / mirror / Atom feed
* [LTP] [PATCH 0/5] Release scripts and docs
@ 2023-09-20  9:53 Petr Vorel
  2023-09-20  9:53 ` [LTP] [PATCH 1/5] tools: Add a script for tagging the release Petr Vorel
                   ` (5 more replies)
  0 siblings, 6 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-20  9:53 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe, Xiao Yang

Hi,

copy pasting release is error prone, thus I wrote release scripts.
Any change you would have look on it before release?

2 commits were already posted before, Li had some notes about the
procedure, thus I updated it.

Kind regards,
Petr

Petr Vorel (5):
  tools: Add a script for tagging the release
  tools: Add script for creating tarballs and metadata
  doc: Rename files to names from ltp.wiki.git
  doc: Add Release procedure
  doc: Update release procedure

 .github/workflows/wiki-mirror.yml             |  16 +--
 ...ild-system-guide.txt => Build-System.rest} |   0
 doc/{c-test-api.txt => C-Test-API.asciidoc}   |   0
 ...mple.txt => C-Test-Case-Tutorial.asciidoc} |   0
 ...-c-api.txt => C-Test-Network-API.asciidoc} |   0
 ...kvm-test-api.txt => KVM-Test-API.asciidoc} |   0
 ...P-Library-API-Writing-Guidelines.asciidoc} |   0
 doc/LTP-Release-Procedure.asciidoc            | 116 ++++++++++++++++++
 ...aintainer-Patch-Review-Checklist.asciidoc} |   0
 ...l-test-api.txt => Shell-Test-API.asciidoc} |   0
 ...kernel,-libc,-toolchain-versions.asciidoc} |   0
 ...s.txt => Test-Writing-Guidelines.asciidoc} |   0
 ...ser-guide.txt => User-Guidelines.asciidoc} |   0
 tools/create-tarballs-metadata.sh             |  52 ++++++++
 tools/lib.sh                                  |  31 +++++
 tools/tag-release.sh                          |  80 ++++++++++++
 16 files changed, 282 insertions(+), 13 deletions(-)
 rename doc/{build-system-guide.txt => Build-System.rest} (100%)
 rename doc/{c-test-api.txt => C-Test-API.asciidoc} (100%)
 rename doc/{c-test-tutorial-simple.txt => C-Test-Case-Tutorial.asciidoc} (100%)
 rename doc/{network-c-api.txt => C-Test-Network-API.asciidoc} (100%)
 rename doc/{kvm-test-api.txt => KVM-Test-API.asciidoc} (100%)
 rename doc/{library-api-writing-guidelines.txt => LTP-Library-API-Writing-Guidelines.asciidoc} (100%)
 create mode 100644 doc/LTP-Release-Procedure.asciidoc
 rename doc/{maintainer-patch-review-checklist.txt => Maintainer-Patch-Review-Checklist.asciidoc} (100%)
 rename doc/{shell-test-api.txt => Shell-Test-API.asciidoc} (100%)
 rename doc/{supported-kernel-libc-versions.txt => Supported-kernel,-libc,-toolchain-versions.asciidoc} (100%)
 rename doc/{test-writing-guidelines.txt => Test-Writing-Guidelines.asciidoc} (100%)
 rename doc/{user-guide.txt => User-Guidelines.asciidoc} (100%)
 create mode 100755 tools/create-tarballs-metadata.sh
 create mode 100755 tools/lib.sh
 create mode 100755 tools/tag-release.sh

-- 
2.40.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [LTP] [PATCH 1/5] tools: Add a script for tagging the release
  2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
@ 2023-09-20  9:53 ` Petr Vorel
  2023-09-20  9:53 ` [LTP] [PATCH 2/5] tools: Add script for creating tarballs and metadata Petr Vorel
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-20  9:53 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe, Xiao Yang

A helper for new releases.

Functions will be reused in another script (next commit).

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 tools/lib.sh         | 31 +++++++++++++++++
 tools/tag-release.sh | 80 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 111 insertions(+)
 create mode 100755 tools/lib.sh
 create mode 100755 tools/tag-release.sh

diff --git a/tools/lib.sh b/tools/lib.sh
new file mode 100755
index 000000000..c96433d28
--- /dev/null
+++ b/tools/lib.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+# Copyright (c) 2023 Petr Vorel <pvorel@suse.cz>
+
+ask()
+{
+	local msg="$1"
+	local answer
+
+	printf "\n$msg. Proceed? [N/y]: "
+	read answer
+	case "$answer" in
+		[Yy]*) : ;;
+		*) exit 2
+	esac
+}
+
+quit()
+{
+	printf "\n$@\n" >&2
+	exit 1
+}
+
+rod()
+{
+	eval "$@" || quit "$@ failed"
+}
+
+title()
+{
+	echo "===== $1 ====="
+}
diff --git a/tools/tag-release.sh b/tools/tag-release.sh
new file mode 100755
index 000000000..18bef4b17
--- /dev/null
+++ b/tools/tag-release.sh
@@ -0,0 +1,80 @@
+#!/bin/sh
+# Copyright (c) 2023 Petr Vorel <pvorel@suse.cz>
+# Tag LTP release.
+# https://github.com/linux-test-project/ltp/wiki/LTP-Release-Procedure
+set -e
+
+upstream_git="linux-test-project/ltp"
+tag="$(date +%Y%m%d)"
+old_tag="$(git describe --abbrev=0)"
+tag_msg="LTP $tag"
+relnotes="/tmp/$(basename $upstream_git)-release-$tag"
+
+. $(dirname "$0")/lib.sh
+
+cd $(dirname "$0")/..
+
+if ! git ls-remote --get-url origin | grep -q $upstream_git; then
+	quit "Not an upstream project"
+fi
+
+if ! git --no-pager diff --exit-code; then
+	quit "Please commit your changes before making new release"
+fi
+
+if git show $tag 2> /dev/null; then
+	quit "Tag '$tag' already exists"
+fi
+
+if grep -q "$tag" VERSION; then
+	quit "Tag '$tag' already in VERSION file"
+fi
+
+title "git tag"
+echo "new tag: '$tag', previous tag: '$old_tag'"
+echo "$tag" > VERSION
+git add VERSION
+rod git commit -S --signoff --message \"$tag_msg\" VERSION
+rod git tag --sign --annotate $tag --message \"$tag_msg\"
+git --no-pager show $tag --show-signature
+
+ask "Please check tag and signature"
+
+title "Creating skeleton file for release notes"
+cat > $relnotes <<EOF
+TODO: Add changelog
+
+## credit
+Many thanks to the people contributing to this release:
+\`\`\`
+    $ git shortlog -sen $old_tag..
+EOF
+git shortlog -s -n $old_tag.. >> $relnotes
+
+cat >> $relnotes <<EOF
+\`\`\`
+
+Also thanks to patch reviewers:
+
+$ git log $old_tag.. | grep -Ei '(reviewed|acked)-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r
+\`\`\`
+EOF
+
+git log $old_tag.. | grep -Ei '(reviewed|acked)-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r >> $relnotes
+
+cat >> $relnotes <<EOF
+\`\`\`
+
+and testers:
+$ git log $old_tag.. | grep -Ei 'tested-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r
+\`\`\`
+EOF
+git log $old_tag.. | grep -Ei 'tested-by:' | sed 's/.*by: //' | sort | uniq -c | sort -n -r >> $relnotes
+echo '```'  >> $relnotes
+
+echo "Skeleton file for release notes: $relnotes"
+
+title "git push"
+ask "Pushing changes to upstream git"
+rod git push origin master:master
+git push origin $tag
-- 
2.40.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [LTP] [PATCH 2/5] tools: Add script for creating tarballs and metadata
  2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
  2023-09-20  9:53 ` [LTP] [PATCH 1/5] tools: Add a script for tagging the release Petr Vorel
@ 2023-09-20  9:53 ` Petr Vorel
  2023-09-20  9:53 ` [LTP] [PATCH 3/5] doc: Rename files to names from ltp.wiki.git Petr Vorel
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-20  9:53 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe, Xiao Yang

A helper for new releases.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 tools/create-tarballs-metadata.sh | 52 +++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100755 tools/create-tarballs-metadata.sh

diff --git a/tools/create-tarballs-metadata.sh b/tools/create-tarballs-metadata.sh
new file mode 100755
index 000000000..4736c9d36
--- /dev/null
+++ b/tools/create-tarballs-metadata.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# Copyright (c) 2023 Petr Vorel <pvorel@suse.cz>
+# Create tarballs and metadata for uploading after tagging release.
+# https://github.com/linux-test-project/ltp/wiki/LTP-Release-Procedure
+set -e
+
+tag="$(date +%Y%m%d)"
+tarball_dir="ltp-full-$tag"
+extensions="bz2 xz"
+checksums="md5 sha1 sha256"
+git_dir=$(cd $(dirname "$0")/..; pwd)
+dir="$(cd $git_dir/../; pwd)/ltp-release-$tag"
+
+. $(dirname "$0")/lib.sh
+
+if [ -d $dir ]; then
+	ask "Directory '$dir' exists, will be deleted"
+	rm -rf $dir
+fi
+rod mkdir $dir
+cd $dir
+dir=$PWD
+
+# git clone (local)
+title "git clone"
+rod git clone $git_dir $tarball_dir
+rod cd $tarball_dir
+rod git submodule update --init
+rod make autotools
+
+# tarballs, checksums
+title "Creating tarballs"
+cd ..
+rod tar --exclude .git -cjf $tarball_dir.tar.bz2 $tarball_dir
+rod tar --exclude .git -cJf $tarball_dir.tar.xz $tarball_dir
+
+title "Creating checksums"
+for alg in $checksums; do
+	for ext in $extensions; do
+		file="$tarball_dir.tar.$ext"
+		${alg}sum $file > "$file.$alg"
+	done
+done
+
+# metadata documentation
+title "Creating metadata documentation"
+cd $tarball_dir
+rod ./configure --with-metadata-generator=asciidoctor
+rod make -C metadata
+cp -v docparse/metadata.html $dir/metadata.$tag.html
+
+echo "Generated files are in '$dir', upload them to github"
-- 
2.40.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [LTP] [PATCH 3/5] doc: Rename files to names from ltp.wiki.git
  2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
  2023-09-20  9:53 ` [LTP] [PATCH 1/5] tools: Add a script for tagging the release Petr Vorel
  2023-09-20  9:53 ` [LTP] [PATCH 2/5] tools: Add script for creating tarballs and metadata Petr Vorel
@ 2023-09-20  9:53 ` Petr Vorel
  2023-09-26 11:47   ` Cyril Hrubis
  2023-09-20  9:53 ` [LTP] [PATCH 4/5] doc: Add Release procedure Petr Vorel
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-20  9:53 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe, Xiao Yang

Keeping the original extension from LTP wiki git brings:
* add syntax highlight for editors
* no need to add new file (only new extension)

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 .github/workflows/wiki-mirror.yml                | 16 +++-------------
 ...{build-system-guide.txt => Build-System.rest} |  0
 doc/{c-test-api.txt => C-Test-API.asciidoc}      |  0
 ...-simple.txt => C-Test-Case-Tutorial.asciidoc} |  0
 ...ork-c-api.txt => C-Test-Network-API.asciidoc} |  0
 doc/{kvm-test-api.txt => KVM-Test-API.asciidoc}  |  0
 ... LTP-Library-API-Writing-Guidelines.asciidoc} |  0
 ...> Maintainer-Patch-Review-Checklist.asciidoc} |  0
 ...hell-test-api.txt => Shell-Test-API.asciidoc} |  0
 ...ed-kernel,-libc,-toolchain-versions.asciidoc} |  0
 ...ines.txt => Test-Writing-Guidelines.asciidoc} |  0
 doc/{user-guide.txt => User-Guidelines.asciidoc} |  0
 12 files changed, 3 insertions(+), 13 deletions(-)
 rename doc/{build-system-guide.txt => Build-System.rest} (100%)
 rename doc/{c-test-api.txt => C-Test-API.asciidoc} (100%)
 rename doc/{c-test-tutorial-simple.txt => C-Test-Case-Tutorial.asciidoc} (100%)
 rename doc/{network-c-api.txt => C-Test-Network-API.asciidoc} (100%)
 rename doc/{kvm-test-api.txt => KVM-Test-API.asciidoc} (100%)
 rename doc/{library-api-writing-guidelines.txt => LTP-Library-API-Writing-Guidelines.asciidoc} (100%)
 rename doc/{maintainer-patch-review-checklist.txt => Maintainer-Patch-Review-Checklist.asciidoc} (100%)
 rename doc/{shell-test-api.txt => Shell-Test-API.asciidoc} (100%)
 rename doc/{supported-kernel-libc-versions.txt => Supported-kernel,-libc,-toolchain-versions.asciidoc} (100%)
 rename doc/{test-writing-guidelines.txt => Test-Writing-Guidelines.asciidoc} (100%)
 rename doc/{user-guide.txt => User-Guidelines.asciidoc} (100%)

diff --git a/.github/workflows/wiki-mirror.yml b/.github/workflows/wiki-mirror.yml
index 883892bf5..2ac0caf74 100644
--- a/.github/workflows/wiki-mirror.yml
+++ b/.github/workflows/wiki-mirror.yml
@@ -38,20 +38,10 @@ jobs:
           commit=$(git log --pretty=format:"%h (\"%s\")" -1 .)
 
           cd $GITHUB_WORKSPACE/ltp.wiki
-
-          # Don't forget to update this list, keep it sorted
-          cp -v $dir/c-test-api.txt C-Test-API.asciidoc
-          cp -v $dir/c-test-tutorial-simple.txt C-Test-Case-Tutorial.asciidoc
-          cp -v $dir/library-api-writing-guidelines.txt LTP-Library-API-Writing-Guidelines.asciidoc
-          cp -v $dir/maintainer-patch-review-checklist.txt Maintainer-Patch-Review-Checklist.asciidoc
-          cp -v $dir/network-c-api.txt C-Test-Network-API.asciidoc
-          cp -v $dir/shell-test-api.txt Shell-Test-API.asciidoc
-          cp -v $dir/supported-kernel-libc-versions.txt Supported-kernel,-libc,-toolchain-versions.asciidoc
-          cp -v $dir/test-writing-guidelines.txt Test-Writing-Guidelines.asciidoc
-          cp -v $dir/user-guide.txt User-Guidelines.asciidoc
-          cp -v $dir/kvm-test-api.txt KVM-Test-API.asciidoc
-
+          # don't forget to add new extensions
+          cp -v $dir/*.asciidoc $dir/*.rest .
           git add .
+
           # only commit if there are changes
           git diff-index --quiet HEAD -- || git commit -m "Update to $commit" .
           git push
diff --git a/doc/build-system-guide.txt b/doc/Build-System.rest
similarity index 100%
rename from doc/build-system-guide.txt
rename to doc/Build-System.rest
diff --git a/doc/c-test-api.txt b/doc/C-Test-API.asciidoc
similarity index 100%
rename from doc/c-test-api.txt
rename to doc/C-Test-API.asciidoc
diff --git a/doc/c-test-tutorial-simple.txt b/doc/C-Test-Case-Tutorial.asciidoc
similarity index 100%
rename from doc/c-test-tutorial-simple.txt
rename to doc/C-Test-Case-Tutorial.asciidoc
diff --git a/doc/network-c-api.txt b/doc/C-Test-Network-API.asciidoc
similarity index 100%
rename from doc/network-c-api.txt
rename to doc/C-Test-Network-API.asciidoc
diff --git a/doc/kvm-test-api.txt b/doc/KVM-Test-API.asciidoc
similarity index 100%
rename from doc/kvm-test-api.txt
rename to doc/KVM-Test-API.asciidoc
diff --git a/doc/library-api-writing-guidelines.txt b/doc/LTP-Library-API-Writing-Guidelines.asciidoc
similarity index 100%
rename from doc/library-api-writing-guidelines.txt
rename to doc/LTP-Library-API-Writing-Guidelines.asciidoc
diff --git a/doc/maintainer-patch-review-checklist.txt b/doc/Maintainer-Patch-Review-Checklist.asciidoc
similarity index 100%
rename from doc/maintainer-patch-review-checklist.txt
rename to doc/Maintainer-Patch-Review-Checklist.asciidoc
diff --git a/doc/shell-test-api.txt b/doc/Shell-Test-API.asciidoc
similarity index 100%
rename from doc/shell-test-api.txt
rename to doc/Shell-Test-API.asciidoc
diff --git a/doc/supported-kernel-libc-versions.txt b/doc/Supported-kernel,-libc,-toolchain-versions.asciidoc
similarity index 100%
rename from doc/supported-kernel-libc-versions.txt
rename to doc/Supported-kernel,-libc,-toolchain-versions.asciidoc
diff --git a/doc/test-writing-guidelines.txt b/doc/Test-Writing-Guidelines.asciidoc
similarity index 100%
rename from doc/test-writing-guidelines.txt
rename to doc/Test-Writing-Guidelines.asciidoc
diff --git a/doc/user-guide.txt b/doc/User-Guidelines.asciidoc
similarity index 100%
rename from doc/user-guide.txt
rename to doc/User-Guidelines.asciidoc
-- 
2.40.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [LTP] [PATCH 4/5] doc: Add Release procedure
  2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
                   ` (2 preceding siblings ...)
  2023-09-20  9:53 ` [LTP] [PATCH 3/5] doc: Rename files to names from ltp.wiki.git Petr Vorel
@ 2023-09-20  9:53 ` Petr Vorel
  2023-09-26 11:46   ` Cyril Hrubis
  2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
  2023-09-21  8:18 ` [LTP] [PATCH 0/5] Release scripts and docs Li Wang
  5 siblings, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-20  9:53 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe, Xiao Yang

This slightly outdated document exists in LTP wiki, start versioning it
in the original repository. The only unversioned file in the wiki is
now Home.rest.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 doc/LTP-Release-Procedure.asciidoc | 67 ++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 doc/LTP-Release-Procedure.asciidoc

diff --git a/doc/LTP-Release-Procedure.asciidoc b/doc/LTP-Release-Procedure.asciidoc
new file mode 100644
index 000000000..cd7682fb8
--- /dev/null
+++ b/doc/LTP-Release-Procedure.asciidoc
@@ -0,0 +1,67 @@
+LTP Release Procedure
+=====================
+
+This page contains quick summary of what needs to be done to do a LTP release. It's expected that LTP git is frozen and git HEAD was properly tested and that LTP git tree is cloned to a directory named 'ltp'.
+
+NOTE: The string YYYYMMDD should be substituted to the current date.
+
+1. Tag the git
+--------------
+
+[source,sh]
+--------------------------------------------------------------------
+cd ltp
+echo YYYYMMDD > VERSION
+git commit -s -m 'LTP YYYYMMDD' VERSION
+git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
+--------------------------------------------------------------------
+
+2. Push changes to github
+-------------------------
+[source,sh]
+--------------------------------------------------------------------
+git push
+git push --tags
+--------------------------------------------------------------------
+
+3. Prepare tarballs
+-------------------
+[source,sh]
+--------------------------------------------------------------------
+cd ..
+git clone ltp ltp-full-YYYYMMDD
+cd ltp-full-YYYYMMDD
+# Update mce-inject submodule
+git submodule init
+git submodule update
+# Generate configure script
+make autotools
+# Prepare the archives
+cd ..
+tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
+tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
+--------------------------------------------------------------------
+
+4. Upload the tarballs to GitHub
+--------------------------------
+
+Click on 'releases' then switch to 'tags' then click on 'Add release notes' there should be 'Attach binaries ...' link at the bottom of the page.
+
+Don't forget to upload md5 and sha-1 sums for the tarballs as well.
+
+5. Send release announcement
+----------------------------
+
+Have a look at http://sourceforge.net/p/ltp/mailman/message/34429656/ to get the idea how it should look.
+
+The announcement is send to:
+
+* ltp at lists.linux.it
+* linux-kernel at vger.kernel.org
+* libc-alpha at sourceware.org
+
+CCed to:
+
+* lwn at lwn.net
+* akpm at linux-foundation.org
+* torvalds at linux-foundation.org.
\ No newline at end of file
-- 
2.40.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
                   ` (3 preceding siblings ...)
  2023-09-20  9:53 ` [LTP] [PATCH 4/5] doc: Add Release procedure Petr Vorel
@ 2023-09-20  9:53 ` Petr Vorel
  2023-09-20 15:29   ` Petr Vorel
                     ` (3 more replies)
  2023-09-21  8:18 ` [LTP] [PATCH 0/5] Release scripts and docs Li Wang
  5 siblings, 4 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-20  9:53 UTC (permalink / raw)
  To: ltp; +Cc: Richard Palethorpe, Xiao Yang

* Mention release preparation (Li Wang).
* Replace skeleton commands with the release scripts.
* Update link to the release announcement.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 doc/LTP-Release-Procedure.asciidoc | 111 +++++++++++++++++++++--------
 1 file changed, 80 insertions(+), 31 deletions(-)

diff --git a/doc/LTP-Release-Procedure.asciidoc b/doc/LTP-Release-Procedure.asciidoc
index cd7682fb8..26d85d1fa 100644
--- a/doc/LTP-Release-Procedure.asciidoc
+++ b/doc/LTP-Release-Procedure.asciidoc
@@ -5,54 +5,103 @@ This page contains quick summary of what needs to be done to do a LTP release. I
 
 NOTE: The string YYYYMMDD should be substituted to the current date.
 
-1. Tag the git
+1. Release eve work
+-------------------
+
+a. Collecting the (must have) patch list for new release
+b. Reviewing and merging the patch list of (a.)
+c. Widely testing, explicitly post results
+d. Tiny fix according to release testing
+e. Writing release note
+
+2. Tag the git
 --------------
 
+Use './tools/tag-release.sh' script, which creates the tag and push it to github.
 [source,sh]
 --------------------------------------------------------------------
-cd ltp
-echo YYYYMMDD > VERSION
-git commit -s -m 'LTP YYYYMMDD' VERSION
-git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
---------------------------------------------------------------------
+$ ./tools/tag-release.sh
+===== git push =====
+echo "new tag: '20230516', previous tag: '20230127'"
+tag 20230516
+Tagger: Person-who-released LTP <foo@example.com>
+Date:   Tue May 16 07:08:27 2023 +0200
 
-2. Push changes to github
--------------------------
-[source,sh]
---------------------------------------------------------------------
-git push
-git push --tags
+LTP 20230516
+-----BEGIN PGP SIGNATURE-----
+
+iQJDBAABCAAtFiEEIBb+pIWLHDazLoM6wN7C7nLzOl8FAmRjD8sPHHB2b3JlbEBz
+...
+-----END PGP SIGNATURE-----
+
+commit 3ebc2dfa85c2445bb68d8c0d66e33c4da1e1b3a7
+gpg: Signature made Tue 16 May 2023 07:08:08 AM CEST
+gpg:                using RSA key 2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F
+...
+Primary key fingerprint: 2016 FEA4 858B 1C36 B32E  833A C0DE C2EE 72F3 3A5F
+Author: Person-who-released LTP <foo@example.com>
+Date:   Tue May 16 07:08:08 2023 +0200
+
+    LTP 20230516
+
+    Signed-off-by: Person-who-released LTP <foo@example.com>
+
+diff --git a/VERSION b/VERSION
+index af4c41fec..ae488c0e7 100644
+--- a/VERSION
++++ b/VERSION
+@@ -1 +1 @@
+-20230127
++20230516
+
+Please check tag and signature. Proceed? [N/y]: y
+===== Creating skeleton file for release notes =====
+Skeleton file for release notes: /tmp/ltp-release-20230516
+
+Pushing changes to upstream git. Proceed? [N/y]: y
+Enumerating objects: 1, done.
+Counting objects: 100% (1/1), done.
+Writing objects: 100% (1/1), 811 bytes | 811.00 KiB/s, done.
+Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
+To github.com:linux-test-project/ltp.git
+ * [new tag]             20230516 -> 20230516
 --------------------------------------------------------------------
 
-3. Prepare tarballs
--------------------
+3. Prepare tarballs and metadata documentation
+----------------------------------------------
 [source,sh]
+Use './tools/create-tarballs-metadata.sh' script.
 --------------------------------------------------------------------
-cd ..
-git clone ltp ltp-full-YYYYMMDD
-cd ltp-full-YYYYMMDD
-# Update mce-inject submodule
-git submodule init
-git submodule update
-# Generate configure script
-make autotools
-# Prepare the archives
-cd ..
-tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
-tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
+$ ./tools/create-tarballs-metadata.sh
+===== git clone =====
+Cloning into 'ltp-full-20230516'...
+done.
+Submodule 'testcases/kernel/mce-test' (git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/mce-test.git) registered for path 'testcases/kernel/mce-test'
+...
+make[1]: Leaving directory '/home/foo/ltp-release-20230516/ltp-full-20230516/testcases/open_posix_testsuite'
+===== Creating tarballs =====
+===== Creating checksums =====
+===== Creating metadata documentation =====
+checking for a BSD-compatible install... /usr/bin/install -c
+...
+asciidoctor -d book metadata.txt -b xhtml
+make[1]: Leaving directory '/home/foo/ltp-release-20230516/ltp-full-20230516/docparse'
+make: Leaving directory '/home/foo/ltp-release-20230516/ltp-full-20230516/metadata'
+'docparse/metadata.html' -> '/home/foo/ltp-release-20230516/metadata.20230516.html'
+Generated files are in '/home/foo/ltp-release-20230516', upload them to github
 --------------------------------------------------------------------
 
-4. Upload the tarballs to GitHub
---------------------------------
+4. Upload the generated files to GitHub
+---------------------------------------
 
 Click on 'releases' then switch to 'tags' then click on 'Add release notes' there should be 'Attach binaries ...' link at the bottom of the page.
 
-Don't forget to upload md5 and sha-1 sums for the tarballs as well.
+Don't forget to upload checksums for the tarballs and metadata documentation as well.
 
 5. Send release announcement
 ----------------------------
 
-Have a look at http://sourceforge.net/p/ltp/mailman/message/34429656/ to get the idea how it should look.
+Have a look at https://lore.kernel.org/ltp/ZGNiQ1sMGvPU_ETp@yuki/ to get the idea how it should look.
 
 The announcement is send to:
 
@@ -64,4 +113,4 @@ CCed to:
 
 * lwn at lwn.net
 * akpm at linux-foundation.org
-* torvalds at linux-foundation.org.
\ No newline at end of file
+* torvalds at linux-foundation.org.
-- 
2.40.1


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
@ 2023-09-20 15:29   ` Petr Vorel
  2023-09-20 15:39   ` Petr Vorel
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-20 15:29 UTC (permalink / raw)
  To: ltp; +Cc: Xiao Yang, Richard Palethorpe

Hi all,

...
> +++ b/doc/LTP-Release-Procedure.asciidoc
> @@ -5,54 +5,103 @@ This page contains quick summary of what needs to be done to do a LTP release. I

>  NOTE: The string YYYYMMDD should be substituted to the current date.
This line should have been removed as well.
If we agree on these changes, I'll fix it before merge.

Kind regards,
Petr

> -1. Tag the git
> +1. Release eve work
> +-------------------
> +
> +a. Collecting the (must have) patch list for new release
> +b. Reviewing and merging the patch list of (a.)
> +c. Widely testing, explicitly post results
> +d. Tiny fix according to release testing
> +e. Writing release note
> +
> +2. Tag the git
>  --------------
...

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
  2023-09-20 15:29   ` Petr Vorel
@ 2023-09-20 15:39   ` Petr Vorel
  2023-09-24  0:35   ` Li Wang
  2023-09-26 12:14   ` Cyril Hrubis
  3 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-20 15:39 UTC (permalink / raw)
  To: ltp; +Cc: Xiao Yang, Richard Palethorpe

Few formatting fixes would be needed, e.g.:

-1. Release eve work
+1 Release eve work
 -------------------
 
-a. Collecting the (must have) patch list for new release
-b. Reviewing and merging the patch list of (a.)
-c. Widely testing, explicitly post results
-d. Tiny fix according to release testing
-e. Writing release note
+[start=a]
+.. Collecting the (must have) patch list for new release
+.. Reviewing and merging the patch list of (a.)
+.. Widely testing, explicitly post results
+.. Tiny fix according to release testing
+.. Writing release notes

But the text is what matters, thus not sending fixes before getting feedback.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
                   ` (4 preceding siblings ...)
  2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
@ 2023-09-21  8:18 ` Li Wang
  2023-09-21  8:43   ` Jan Stancek
  5 siblings, 1 reply; 28+ messages in thread
From: Li Wang @ 2023-09-21  8:18 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi Petr, All,

Thanks for writing down the release procedure, very useful.

But I doubt that we really need the scripts to do release work
automatically since we _only_ do the release every four months.
It seems to bring additional maintenance work unnecessarily.

I personally think the manual step is detailed enough for us.
But anyway, now you have done the automation, I don't have
an objection to your patch set, just feel that we automate for the
sake of automation :).

I'd like to hear more opinions, but if most of us think the script is
necessary, I'm happy to accept them as well.


On Wed, Sep 20, 2023 at 5:53 PM Petr Vorel <pvorel@suse.cz> wrote:

> Hi,
>
> copy pasting release is error prone, thus I wrote release scripts.
> Any change you would have look on it before release?
>
> 2 commits were already posted before, Li had some notes about the
> procedure, thus I updated it.
>
> Kind regards,
> Petr
>
> Petr Vorel (5):
>   tools: Add a script for tagging the release
>   tools: Add script for creating tarballs and metadata
>   doc: Rename files to names from ltp.wiki.git
>   doc: Add Release procedure
>   doc: Update release procedure
>
>  .github/workflows/wiki-mirror.yml             |  16 +--
>  ...ild-system-guide.txt => Build-System.rest} |   0
>  doc/{c-test-api.txt => C-Test-API.asciidoc}   |   0
>  ...mple.txt => C-Test-Case-Tutorial.asciidoc} |   0
>  ...-c-api.txt => C-Test-Network-API.asciidoc} |   0
>  ...kvm-test-api.txt => KVM-Test-API.asciidoc} |   0
>  ...P-Library-API-Writing-Guidelines.asciidoc} |   0
>  doc/LTP-Release-Procedure.asciidoc            | 116 ++++++++++++++++++
>  ...aintainer-Patch-Review-Checklist.asciidoc} |   0
>  ...l-test-api.txt => Shell-Test-API.asciidoc} |   0
>  ...kernel,-libc,-toolchain-versions.asciidoc} |   0
>  ...s.txt => Test-Writing-Guidelines.asciidoc} |   0
>  ...ser-guide.txt => User-Guidelines.asciidoc} |   0
>  tools/create-tarballs-metadata.sh             |  52 ++++++++
>  tools/lib.sh                                  |  31 +++++
>  tools/tag-release.sh                          |  80 ++++++++++++
>  16 files changed, 282 insertions(+), 13 deletions(-)
>  rename doc/{build-system-guide.txt => Build-System.rest} (100%)
>  rename doc/{c-test-api.txt => C-Test-API.asciidoc} (100%)
>  rename doc/{c-test-tutorial-simple.txt => C-Test-Case-Tutorial.asciidoc}
> (100%)
>  rename doc/{network-c-api.txt => C-Test-Network-API.asciidoc} (100%)
>  rename doc/{kvm-test-api.txt => KVM-Test-API.asciidoc} (100%)
>  rename doc/{library-api-writing-guidelines.txt =>
> LTP-Library-API-Writing-Guidelines.asciidoc} (100%)
>  create mode 100644 doc/LTP-Release-Procedure.asciidoc
>  rename doc/{maintainer-patch-review-checklist.txt =>
> Maintainer-Patch-Review-Checklist.asciidoc} (100%)
>  rename doc/{shell-test-api.txt => Shell-Test-API.asciidoc} (100%)
>  rename doc/{supported-kernel-libc-versions.txt =>
> Supported-kernel,-libc,-toolchain-versions.asciidoc} (100%)
>  rename doc/{test-writing-guidelines.txt =>
> Test-Writing-Guidelines.asciidoc} (100%)
>  rename doc/{user-guide.txt => User-Guidelines.asciidoc} (100%)
>  create mode 100755 tools/create-tarballs-metadata.sh
>  create mode 100755 tools/lib.sh
>  create mode 100755 tools/tag-release.sh
>
> --
> 2.40.1
>
>

-- 
Regards,
Li Wang

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-21  8:18 ` [LTP] [PATCH 0/5] Release scripts and docs Li Wang
@ 2023-09-21  8:43   ` Jan Stancek
  2023-09-22 16:13     ` Petr Vorel
  2023-09-26 12:16     ` Cyril Hrubis
  0 siblings, 2 replies; 28+ messages in thread
From: Jan Stancek @ 2023-09-21  8:43 UTC (permalink / raw)
  To: Li Wang; +Cc: Xiao Yang, Richard Palethorpe, ltp

On Thu, Sep 21, 2023 at 10:18 AM Li Wang <liwang@redhat.com> wrote:
>
> Hi Petr, All,
>
> Thanks for writing down the release procedure, very useful.

+1 for having documented steps

>
> But I doubt that we really need the scripts to do release work
> automatically since we _only_ do the release every four months.
> It seems to bring additional maintenance work unnecessarily.
>
> I personally think the manual step is detailed enough for us.
> But anyway, now you have done the automation, I don't have
> an objection to your patch set, just feel that we automate for the
> sake of automation :).
>
> I'd like to hear more opinions, but if most of us think the script is
> necessary, I'm happy to accept them as well.

As someone who hasn't done release before, I'd probably do it
manually first-time to double-check each step.

It's probably not necessary, but people who did releases many times may
find it useful - I'm assuming the release procedure isn't changing
that frequently.

>
>
> On Wed, Sep 20, 2023 at 5:53 PM Petr Vorel <pvorel@suse.cz> wrote:
>>
>> Hi,
>>
>> copy pasting release is error prone, thus I wrote release scripts.
>> Any change you would have look on it before release?
>>
>> 2 commits were already posted before, Li had some notes about the
>> procedure, thus I updated it.
>>
>> Kind regards,
>> Petr
>>
>> Petr Vorel (5):
>>   tools: Add a script for tagging the release
>>   tools: Add script for creating tarballs and metadata
>>   doc: Rename files to names from ltp.wiki.git
>>   doc: Add Release procedure
>>   doc: Update release procedure
>>
>>  .github/workflows/wiki-mirror.yml             |  16 +--
>>  ...ild-system-guide.txt => Build-System.rest} |   0
>>  doc/{c-test-api.txt => C-Test-API.asciidoc}   |   0
>>  ...mple.txt => C-Test-Case-Tutorial.asciidoc} |   0
>>  ...-c-api.txt => C-Test-Network-API.asciidoc} |   0
>>  ...kvm-test-api.txt => KVM-Test-API.asciidoc} |   0
>>  ...P-Library-API-Writing-Guidelines.asciidoc} |   0
>>  doc/LTP-Release-Procedure.asciidoc            | 116 ++++++++++++++++++
>>  ...aintainer-Patch-Review-Checklist.asciidoc} |   0
>>  ...l-test-api.txt => Shell-Test-API.asciidoc} |   0
>>  ...kernel,-libc,-toolchain-versions.asciidoc} |   0
>>  ...s.txt => Test-Writing-Guidelines.asciidoc} |   0
>>  ...ser-guide.txt => User-Guidelines.asciidoc} |   0
>>  tools/create-tarballs-metadata.sh             |  52 ++++++++
>>  tools/lib.sh                                  |  31 +++++
>>  tools/tag-release.sh                          |  80 ++++++++++++
>>  16 files changed, 282 insertions(+), 13 deletions(-)
>>  rename doc/{build-system-guide.txt => Build-System.rest} (100%)
>>  rename doc/{c-test-api.txt => C-Test-API.asciidoc} (100%)
>>  rename doc/{c-test-tutorial-simple.txt => C-Test-Case-Tutorial.asciidoc} (100%)
>>  rename doc/{network-c-api.txt => C-Test-Network-API.asciidoc} (100%)
>>  rename doc/{kvm-test-api.txt => KVM-Test-API.asciidoc} (100%)
>>  rename doc/{library-api-writing-guidelines.txt => LTP-Library-API-Writing-Guidelines.asciidoc} (100%)
>>  create mode 100644 doc/LTP-Release-Procedure.asciidoc
>>  rename doc/{maintainer-patch-review-checklist.txt => Maintainer-Patch-Review-Checklist.asciidoc} (100%)
>>  rename doc/{shell-test-api.txt => Shell-Test-API.asciidoc} (100%)
>>  rename doc/{supported-kernel-libc-versions.txt => Supported-kernel,-libc,-toolchain-versions.asciidoc} (100%)
>>  rename doc/{test-writing-guidelines.txt => Test-Writing-Guidelines.asciidoc} (100%)
>>  rename doc/{user-guide.txt => User-Guidelines.asciidoc} (100%)
>>  create mode 100755 tools/create-tarballs-metadata.sh
>>  create mode 100755 tools/lib.sh
>>  create mode 100755 tools/tag-release.sh
>>
>> --
>> 2.40.1
>>
>
>
> --
> Regards,
> Li Wang


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-21  8:43   ` Jan Stancek
@ 2023-09-22 16:13     ` Petr Vorel
  2023-09-26 12:22       ` Cyril Hrubis
  2023-09-26 12:16     ` Cyril Hrubis
  1 sibling, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-22 16:13 UTC (permalink / raw)
  To: Jan Stancek; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi Jan, Li,

> On Thu, Sep 21, 2023 at 10:18 AM Li Wang <liwang@redhat.com> wrote:

> > Hi Petr, All,

> > Thanks for writing down the release procedure, very useful.

> +1 for having documented steps


> > But I doubt that we really need the scripts to do release work
> > automatically since we _only_ do the release every four months.
> > It seems to bring additional maintenance work unnecessarily.

> > I personally think the manual step is detailed enough for us.
> > But anyway, now you have done the automation, I don't have
> > an objection to your patch set, just feel that we automate for the
> > sake of automation :).

> > I'd like to hear more opinions, but if most of us think the script is
> > necessary, I'm happy to accept them as well.

> As someone who hasn't done release before, I'd probably do it
> manually first-time to double-check each step.

> It's probably not necessary, but people who did releases many times may
> find it useful - I'm assuming the release procedure isn't changing
> that frequently.

Thanks both for your input.

Yes. Manual process is error prone.

Because I did tagging and tarball generating for last few releases I wanted to
avoid re-reading the documentation during each release and speedup the whole
process. Because there is a lot of "manual" clicking even without it.

BTW the changelog skeleton should be separated to be useful (Cyril does it).

Kind regards,
Petr

> > On Wed, Sep 20, 2023 at 5:53 PM Petr Vorel <pvorel@suse.cz> wrote:

> >> Hi,

> >> copy pasting release is error prone, thus I wrote release scripts.
> >> Any change you would have look on it before release?

> >> 2 commits were already posted before, Li had some notes about the
> >> procedure, thus I updated it.

> >> Kind regards,
> >> Petr

> >> Petr Vorel (5):
> >>   tools: Add a script for tagging the release
> >>   tools: Add script for creating tarballs and metadata
> >>   doc: Rename files to names from ltp.wiki.git
> >>   doc: Add Release procedure
> >>   doc: Update release procedure

> >>  .github/workflows/wiki-mirror.yml             |  16 +--
> >>  ...ild-system-guide.txt => Build-System.rest} |   0
> >>  doc/{c-test-api.txt => C-Test-API.asciidoc}   |   0
> >>  ...mple.txt => C-Test-Case-Tutorial.asciidoc} |   0
> >>  ...-c-api.txt => C-Test-Network-API.asciidoc} |   0
> >>  ...kvm-test-api.txt => KVM-Test-API.asciidoc} |   0
> >>  ...P-Library-API-Writing-Guidelines.asciidoc} |   0
> >>  doc/LTP-Release-Procedure.asciidoc            | 116 ++++++++++++++++++
> >>  ...aintainer-Patch-Review-Checklist.asciidoc} |   0
> >>  ...l-test-api.txt => Shell-Test-API.asciidoc} |   0
> >>  ...kernel,-libc,-toolchain-versions.asciidoc} |   0
> >>  ...s.txt => Test-Writing-Guidelines.asciidoc} |   0
> >>  ...ser-guide.txt => User-Guidelines.asciidoc} |   0
> >>  tools/create-tarballs-metadata.sh             |  52 ++++++++
> >>  tools/lib.sh                                  |  31 +++++
> >>  tools/tag-release.sh                          |  80 ++++++++++++
> >>  16 files changed, 282 insertions(+), 13 deletions(-)
> >>  rename doc/{build-system-guide.txt => Build-System.rest} (100%)
> >>  rename doc/{c-test-api.txt => C-Test-API.asciidoc} (100%)
> >>  rename doc/{c-test-tutorial-simple.txt => C-Test-Case-Tutorial.asciidoc} (100%)
> >>  rename doc/{network-c-api.txt => C-Test-Network-API.asciidoc} (100%)
> >>  rename doc/{kvm-test-api.txt => KVM-Test-API.asciidoc} (100%)
> >>  rename doc/{library-api-writing-guidelines.txt => LTP-Library-API-Writing-Guidelines.asciidoc} (100%)
> >>  create mode 100644 doc/LTP-Release-Procedure.asciidoc
> >>  rename doc/{maintainer-patch-review-checklist.txt => Maintainer-Patch-Review-Checklist.asciidoc} (100%)
> >>  rename doc/{shell-test-api.txt => Shell-Test-API.asciidoc} (100%)
> >>  rename doc/{supported-kernel-libc-versions.txt => Supported-kernel,-libc,-toolchain-versions.asciidoc} (100%)
> >>  rename doc/{test-writing-guidelines.txt => Test-Writing-Guidelines.asciidoc} (100%)
> >>  rename doc/{user-guide.txt => User-Guidelines.asciidoc} (100%)
> >>  create mode 100755 tools/create-tarballs-metadata.sh
> >>  create mode 100755 tools/lib.sh
> >>  create mode 100755 tools/tag-release.sh

> >> --
> >> 2.40.1



> > --
> > Regards,
> > Li Wang


-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
  2023-09-20 15:29   ` Petr Vorel
  2023-09-20 15:39   ` Petr Vorel
@ 2023-09-24  0:35   ` Li Wang
  2023-09-24 21:14     ` Petr Vorel
  2023-09-26 12:14   ` Cyril Hrubis
  3 siblings, 1 reply; 28+ messages in thread
From: Li Wang @ 2023-09-24  0:35 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi Petr,

On Wed, Sep 20, 2023 at 5:53 PM Petr Vorel <pvorel@suse.cz> wrote:

> * Mention release preparation (Li Wang).
> * Replace skeleton commands with the release scripts.
> * Update link to the release announcement.
>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  doc/LTP-Release-Procedure.asciidoc | 111 +++++++++++++++++++++--------
>  1 file changed, 80 insertions(+), 31 deletions(-)
>
> diff --git a/doc/LTP-Release-Procedure.asciidoc
> b/doc/LTP-Release-Procedure.asciidoc
> index cd7682fb8..26d85d1fa 100644
> --- a/doc/LTP-Release-Procedure.asciidoc
> +++ b/doc/LTP-Release-Procedure.asciidoc
> @@ -5,54 +5,103 @@ This page contains quick summary of what needs to be
> done to do a LTP release. I
>
>  NOTE: The string YYYYMMDD should be substituted to the current date.
>
> -1. Tag the git
> +1. Release eve work
> +-------------------
> +
> +a. Collecting the (must have) patch list for new release
> +b. Reviewing and merging the patch list of (a.)
> +c. Widely testing, explicitly post results
> +d. Tiny fix according to release testing
> +e. Writing release note
> +
> +2. Tag the git
>  --------------
>
> +Use './tools/tag-release.sh' script, which creates the tag and push it to
> github.
>  [source,sh]
>  --------------------------------------------------------------------
> -cd ltp
> -echo YYYYMMDD > VERSION
> -git commit -s -m 'LTP YYYYMMDD' VERSION
> -git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> ---------------------------------------------------------------------
>

What about adding those manual steps into tag-release.sh as code comments?
That'd be helpful to people who never do release work to try that first
time.



> +$ ./tools/tag-release.sh
> +===== git push =====
> +echo "new tag: '20230516', previous tag: '20230127'"
> +tag 20230516
> +Tagger: Person-who-released LTP <foo@example.com>
> +Date:   Tue May 16 07:08:27 2023 +0200
>


-2. Push changes to github
> --------------------------
> -[source,sh]
> ---------------------------------------------------------------------
> -git push
> -git push --tags
>



> +LTP 20230516
> +-----BEGIN PGP SIGNATURE-----
> +
> +iQJDBAABCAAtFiEEIBb+pIWLHDazLoM6wN7C7nLzOl8FAmRjD8sPHHB2b3JlbEBz
> +...
> +-----END PGP SIGNATURE-----
> +
> +commit 3ebc2dfa85c2445bb68d8c0d66e33c4da1e1b3a7
> +gpg: Signature made Tue 16 May 2023 07:08:08 AM CEST
> +gpg:                using RSA key 2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F
> +...
> +Primary key fingerprint: 2016 FEA4 858B 1C36 B32E  833A C0DE C2EE 72F3
> 3A5F
> +Author: Person-who-released LTP <foo@example.com>
> +Date:   Tue May 16 07:08:08 2023 +0200
> +
> +    LTP 20230516
> +
> +    Signed-off-by: Person-who-released LTP <foo@example.com>
> +
> +diff --git a/VERSION b/VERSION
> +index af4c41fec..ae488c0e7 100644
> +--- a/VERSION
> ++++ b/VERSION
> +@@ -1 +1 @@
> +-20230127
> ++20230516
> +
> +Please check tag and signature. Proceed? [N/y]: y
> +===== Creating skeleton file for release notes =====
> +Skeleton file for release notes: /tmp/ltp-release-20230516
> +
> +Pushing changes to upstream git. Proceed? [N/y]: y
> +Enumerating objects: 1, done.
> +Counting objects: 100% (1/1), done.
> +Writing objects: 100% (1/1), 811 bytes | 811.00 KiB/s, done.
> +Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
> +To github.com:linux-test-project/ltp.git
> + * [new tag]             20230516 -> 20230516
>  --------------------------------------------------------------------
>
> -3. Prepare tarballs
> --------------------
> +3. Prepare tarballs and metadata documentation
> +----------------------------------------------
>  [source,sh]
> +Use './tools/create-tarballs-metadata.sh' script.
>  --------------------------------------------------------------------
> -cd ..
> -git clone ltp ltp-full-YYYYMMDD
> -cd ltp-full-YYYYMMDD
> -# Update mce-inject submodule
> -git submodule init
> -git submodule update
> -# Generate configure script
> -make autotools
> -# Prepare the archives
> -cd ..
> -tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> -tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
>

I suggest adding these into create-tarballs-metadata.sh comments as well.



> +$ ./tools/create-tarballs-metadata.sh
> +===== git clone =====
> +Cloning into 'ltp-full-20230516'...
> +done.
> +Submodule 'testcases/kernel/mce-test' (git://
> git.kernel.org/pub/scm/linux/kernel/git/gong.chen/mce-test.git)
> registered for path 'testcases/kernel/mce-test'
> +...
> +make[1]: Leaving directory
> '/home/foo/ltp-release-20230516/ltp-full-20230516/testcases/open_posix_testsuite'
> +===== Creating tarballs =====
> +===== Creating checksums =====
> +===== Creating metadata documentation =====
> +checking for a BSD-compatible install... /usr/bin/install -c
> +...
> +asciidoctor -d book metadata.txt -b xhtml
> +make[1]: Leaving directory
> '/home/foo/ltp-release-20230516/ltp-full-20230516/docparse'
> +make: Leaving directory
> '/home/foo/ltp-release-20230516/ltp-full-20230516/metadata'
> +'docparse/metadata.html' ->
> '/home/foo/ltp-release-20230516/metadata.20230516.html'
> +Generated files are in '/home/foo/ltp-release-20230516', upload them to
> github
>  --------------------------------------------------------------------
>
> -4. Upload the tarballs to GitHub
> ---------------------------------
> +4. Upload the generated files to GitHub
> +---------------------------------------
>
>  Click on 'releases' then switch to 'tags' then click on 'Add release
> notes' there should be 'Attach binaries ...' link at the bottom of the page.
>
> -Don't forget to upload md5 and sha-1 sums for the tarballs as well.
> +Don't forget to upload checksums for the tarballs and metadata
> documentation as well.
>
>  5. Send release announcement
>  ----------------------------
>
> -Have a look at http://sourceforge.net/p/ltp/mailman/message/34429656/ to
> get the idea how it should look.
> +Have a look at https://lore.kernel.org/ltp/ZGNiQ1sMGvPU_ETp@yuki/ to get
> the idea how it should look.
>
>  The announcement is send to:
>
> @@ -64,4 +113,4 @@ CCed to:
>
>  * lwn at lwn.net
>  * akpm at linux-foundation.org
> -* torvalds at linux-foundation.org.
> \ No newline at end of file
> +* torvalds at linux-foundation.org.
> --
> 2.40.1
>
>

-- 
Regards,
Li Wang

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-24  0:35   ` Li Wang
@ 2023-09-24 21:14     ` Petr Vorel
  2023-09-25  2:31       ` Li Wang
  0 siblings, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-24 21:14 UTC (permalink / raw)
  To: Li Wang; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi Li,

> Hi Petr,

...
> > -1. Tag the git
> > +1. Release eve work
> > +-------------------
> > +
> > +a. Collecting the (must have) patch list for new release
> > +b. Reviewing and merging the patch list of (a.)
> > +c. Widely testing, explicitly post results
> > +d. Tiny fix according to release testing
> > +e. Writing release note
> > +
> > +2. Tag the git
> >  --------------

> > +Use './tools/tag-release.sh' script, which creates the tag and push it to
> > github.
> >  [source,sh]
> >  --------------------------------------------------------------------
> > -cd ltp
> > -echo YYYYMMDD > VERSION
> > -git commit -s -m 'LTP YYYYMMDD' VERSION
> > -git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> > ---------------------------------------------------------------------

> What about adding those manual steps into tag-release.sh as code comments?
> That'd be helpful to people who never do release work to try that first
> time.

Good point, makes sense.
I suppose you mean to bput them at the top like this:

#!/bin/sh
# Copyright (c) 2023 Petr Vorel <pvorel@suse.cz>
# Create tarballs and metadata for uploading after tagging release.
# https://github.com/linux-test-project/ltp/wiki/LTP-Release-Procedure 
# echo YYYYMMDD > VERSION
# git commit -s -m 'LTP YYYYMMDD' VERSION
# git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
set -e
...
Because there are comments at the top of each "section" (e.g. # git clone
(local))

...
> > -cd ..
> > -git clone ltp ltp-full-YYYYMMDD
> > -cd ltp-full-YYYYMMDD
> > -# Update mce-inject submodule
> > -git submodule init
> > -git submodule update
> > -# Generate configure script
> > -make autotools
> > -# Prepare the archives
> > -cd ..
> > -tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> > -tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git

> I suggest adding these into create-tarballs-metadata.sh comments as well.

# git clone ltp ltp-full-YYYYMMDD && cd -
# git submodule update --init
# make autotools
# cd ..
# tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
# tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
# sha256sum ltp-full-YYYYMMDD.tar.xz > ltp-full-YYYYMMDD.tar.xz.sha256

(Adding all checksums would look to me quite verbose (6 lines), but I can add
them.)

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-24 21:14     ` Petr Vorel
@ 2023-09-25  2:31       ` Li Wang
  2023-09-25 12:50         ` Petr Vorel
  0 siblings, 1 reply; 28+ messages in thread
From: Li Wang @ 2023-09-25  2:31 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

On Mon, Sep 25, 2023 at 5:14 AM Petr Vorel <pvorel@suse.cz> wrote:

> Hi Li,
>
> > Hi Petr,
>
> ...
> > > -1. Tag the git
> > > +1. Release eve work
> > > +-------------------
> > > +
> > > +a. Collecting the (must have) patch list for new release
> > > +b. Reviewing and merging the patch list of (a.)
> > > +c. Widely testing, explicitly post results
> > > +d. Tiny fix according to release testing
> > > +e. Writing release note
> > > +
> > > +2. Tag the git
> > >  --------------
>
> > > +Use './tools/tag-release.sh' script, which creates the tag and push
> it to
> > > github.
> > >  [source,sh]
> > >  --------------------------------------------------------------------
> > > -cd ltp
> > > -echo YYYYMMDD > VERSION
> > > -git commit -s -m 'LTP YYYYMMDD' VERSION
> > > -git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> > > ---------------------------------------------------------------------
>
> > What about adding those manual steps into tag-release.sh as code
> comments?
> > That'd be helpful to people who never do release work to try that first
> > time.
>
> Good point, makes sense.
> I suppose you mean to bput them at the top like this:
>


Yes, even looks verbose, but will be helpful to people who never do release
work.



>
> #!/bin/sh
> # Copyright (c) 2023 Petr Vorel <pvorel@suse.cz>
> # Create tarballs and metadata for uploading after tagging release.
> # https://github.com/linux-test-project/ltp/wiki/LTP-Release-Procedure
> # echo YYYYMMDD > VERSION
> # git commit -s -m 'LTP YYYYMMDD' VERSION
> # git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> set -e
> ...
> Because there are comments at the top of each "section" (e.g. # git clone
> (local))
>
> ...
> > > -cd ..
> > > -git clone ltp ltp-full-YYYYMMDD
> > > -cd ltp-full-YYYYMMDD
> > > -# Update mce-inject submodule
> > > -git submodule init
> > > -git submodule update
> > > -# Generate configure script
> > > -make autotools
> > > -# Prepare the archives
> > > -cd ..
> > > -tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> > > -tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
>
> > I suggest adding these into create-tarballs-metadata.sh comments as well.
>
> # git clone ltp ltp-full-YYYYMMDD && cd -
> # git submodule update --init
> # make autotools
> # cd ..
> # tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> # tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
> # sha256sum ltp-full-YYYYMMDD.tar.xz > ltp-full-YYYYMMDD.tar.xz.sha256
>
> (Adding all checksums would look to me quite verbose (6 lines), but I can
> add
> them.)
>
> Kind regards,
> Petr
>
>

-- 
Regards,
Li Wang

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-25  2:31       ` Li Wang
@ 2023-09-25 12:50         ` Petr Vorel
  2023-09-27  6:44           ` Petr Vorel
  0 siblings, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-25 12:50 UTC (permalink / raw)
  To: Li Wang; +Cc: Xiao Yang, Richard Palethorpe, ltp

> On Mon, Sep 25, 2023 at 5:14 AM Petr Vorel <pvorel@suse.cz> wrote:

> > Hi Li,

> > > Hi Petr,

> > ...
> > > > -1. Tag the git
> > > > +1. Release eve work
> > > > +-------------------
> > > > +
> > > > +a. Collecting the (must have) patch list for new release
> > > > +b. Reviewing and merging the patch list of (a.)
> > > > +c. Widely testing, explicitly post results
> > > > +d. Tiny fix according to release testing
> > > > +e. Writing release note
> > > > +
> > > > +2. Tag the git
> > > >  --------------

> > > > +Use './tools/tag-release.sh' script, which creates the tag and push
> > it to
> > > > github.
> > > >  [source,sh]
> > > >  --------------------------------------------------------------------
> > > > -cd ltp
> > > > -echo YYYYMMDD > VERSION
> > > > -git commit -s -m 'LTP YYYYMMDD' VERSION
> > > > -git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> > > > ---------------------------------------------------------------------

> > > What about adding those manual steps into tag-release.sh as code
> > comments?
> > > That'd be helpful to people who never do release work to try that first
> > > time.

> > Good point, makes sense.
> > I suppose you mean to bput them at the top like this:



> Yes, even looks verbose, but will be helpful to people who never do release
> work.


Sure, no problem. I put all commands.

Kind regards,
Petr


> > #!/bin/sh
> > # Copyright (c) 2023 Petr Vorel <pvorel@suse.cz>
> > # Create tarballs and metadata for uploading after tagging release.
> > # https://github.com/linux-test-project/ltp/wiki/LTP-Release-Procedure
> > # echo YYYYMMDD > VERSION
> > # git commit -s -m 'LTP YYYYMMDD' VERSION
> > # git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> > set -e
> > ...
> > Because there are comments at the top of each "section" (e.g. # git clone
> > (local))

> > ...
> > > > -cd ..
> > > > -git clone ltp ltp-full-YYYYMMDD
> > > > -cd ltp-full-YYYYMMDD
> > > > -# Update mce-inject submodule
> > > > -git submodule init
> > > > -git submodule update
> > > > -# Generate configure script
> > > > -make autotools
> > > > -# Prepare the archives
> > > > -cd ..
> > > > -tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> > > > -tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git

> > > I suggest adding these into create-tarballs-metadata.sh comments as well.

> > # git clone ltp ltp-full-YYYYMMDD && cd -
> > # git submodule update --init
> > # make autotools
> > # cd ..
> > # tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> > # tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
> > # sha256sum ltp-full-YYYYMMDD.tar.xz > ltp-full-YYYYMMDD.tar.xz.sha256

> > (Adding all checksums would look to me quite verbose (6 lines), but I can
> > add
> > them.)

> > Kind regards,
> > Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 4/5] doc: Add Release procedure
  2023-09-20  9:53 ` [LTP] [PATCH 4/5] doc: Add Release procedure Petr Vorel
@ 2023-09-26 11:46   ` Cyril Hrubis
  2023-09-26 13:39     ` Petr Vorel
  0 siblings, 1 reply; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 11:46 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi!
> This slightly outdated document exists in LTP wiki, start versioning it
> in the original repository. The only unversioned file in the wiki is
> now Home.rest.
> 
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  doc/LTP-Release-Procedure.asciidoc | 67 ++++++++++++++++++++++++++++++
>  1 file changed, 67 insertions(+)
>  create mode 100644 doc/LTP-Release-Procedure.asciidoc
> 
> diff --git a/doc/LTP-Release-Procedure.asciidoc b/doc/LTP-Release-Procedure.asciidoc
> new file mode 100644
> index 000000000..cd7682fb8
> --- /dev/null
> +++ b/doc/LTP-Release-Procedure.asciidoc
> @@ -0,0 +1,67 @@
> +LTP Release Procedure
> +=====================
> +
> +This page contains quick summary of what needs to be done to do a LTP release. It's expected that LTP git is frozen and git HEAD was properly tested and that LTP git tree is cloned to a directory named 'ltp'.
> +
> +NOTE: The string YYYYMMDD should be substituted to the current date.
> +
> +1. Tag the git
> +--------------
> +
> +[source,sh]
> +--------------------------------------------------------------------
> +cd ltp
> +echo YYYYMMDD > VERSION
> +git commit -s -m 'LTP YYYYMMDD' VERSION
> +git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> +--------------------------------------------------------------------
> +
> +2. Push changes to github
> +-------------------------
> +[source,sh]
> +--------------------------------------------------------------------
> +git push
> +git push --tags
> +--------------------------------------------------------------------
> +
> +3. Prepare tarballs
> +-------------------
> +[source,sh]
> +--------------------------------------------------------------------
> +cd ..
> +git clone ltp ltp-full-YYYYMMDD
> +cd ltp-full-YYYYMMDD
> +# Update mce-inject submodule
       ^
We do have a couple of submodules now, so this should be updated

> +git submodule init
> +git submodule update
> +# Generate configure script
> +make autotools
> +# Prepare the archives
> +cd ..
> +tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> +tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
> +--------------------------------------------------------------------
> +
> +4. Upload the tarballs to GitHub
> +--------------------------------
> +
> +Click on 'releases' then switch to 'tags' then click on 'Add release notes' there should be 'Attach binaries ...' link at the bottom of the page.
> +
> +Don't forget to upload md5 and sha-1 sums for the tarballs as well.
> +
> +5. Send release announcement
> +----------------------------
> +
> +Have a look at http://sourceforge.net/p/ltp/mailman/message/34429656/ to get the idea how it should look.
                        ^
			This is now outdated, I guess that we should
			include a template rather than this?

> +The announcement is send to:
> +
> +* ltp at lists.linux.it
> +* linux-kernel at vger.kernel.org
> +* libc-alpha at sourceware.org
> +
> +CCed to:
> +
> +* lwn at lwn.net
> +* akpm at linux-foundation.org
> +* torvalds at linux-foundation.org.
> \ No newline at end of file
> -- 
> 2.40.1
> 

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 3/5] doc: Rename files to names from ltp.wiki.git
  2023-09-20  9:53 ` [LTP] [PATCH 3/5] doc: Rename files to names from ltp.wiki.git Petr Vorel
@ 2023-09-26 11:47   ` Cyril Hrubis
  0 siblings, 0 replies; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 11:47 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi!
Looks good.

Reviwed-by: Cyril Hrubis <chrubis@suse.cz>

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
                     ` (2 preceding siblings ...)
  2023-09-24  0:35   ` Li Wang
@ 2023-09-26 12:14   ` Cyril Hrubis
  2023-09-26 13:54     ` Petr Vorel
  3 siblings, 1 reply; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 12:14 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi!
> * Mention release preparation (Li Wang).
> * Replace skeleton commands with the release scripts.
> * Update link to the release announcement.
> 
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
>  doc/LTP-Release-Procedure.asciidoc | 111 +++++++++++++++++++++--------
>  1 file changed, 80 insertions(+), 31 deletions(-)
> 
> diff --git a/doc/LTP-Release-Procedure.asciidoc b/doc/LTP-Release-Procedure.asciidoc
> index cd7682fb8..26d85d1fa 100644
> --- a/doc/LTP-Release-Procedure.asciidoc
> +++ b/doc/LTP-Release-Procedure.asciidoc
> @@ -5,54 +5,103 @@ This page contains quick summary of what needs to be done to do a LTP release. I
>  
>  NOTE: The string YYYYMMDD should be substituted to the current date.
>  
> -1. Tag the git
> +1. Release eve work
               ^
	       ?
> +-------------------


> +a. Collecting the (must have) patch list for new release
> +b. Reviewing and merging the patch list of (a.)
> +c. Widely testing, explicitly post results
> +d. Tiny fix according to release testing
> +e. Writing release note

To be honest this list looks too sparse to be really useful, what about
a paragraph with more detailed explanations:

The release procedure generally takes a few weeks. In the first week or
two patches that should go into the release are reviewed and possibly
merged. These patches are either fixes or patches pointed out by the
community. Patch review, when finished, is followed by a git freeze,
which is a period where only fixes are pushed to the git. During that
period community is expected to run a LTP pre-release tests, reports
problems, and/or send fixes to the mailing list. In this period we are
especially making sure that there are no regressions in the test results
on a wide range of distributions and architectures. Once the
stabilization period has ended the time has finally come to proceed with
the release.


> +2. Tag the git
>  --------------
>  
> +Use './tools/tag-release.sh' script, which creates the tag and push it to github.
>  [source,sh]
>  --------------------------------------------------------------------
> -cd ltp
> -echo YYYYMMDD > VERSION
> -git commit -s -m 'LTP YYYYMMDD' VERSION
> -git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> ---------------------------------------------------------------------
> +$ ./tools/tag-release.sh
> +===== git push =====
> +echo "new tag: '20230516', previous tag: '20230127'"
> +tag 20230516
> +Tagger: Person-who-released LTP <foo@example.com>
> +Date:   Tue May 16 07:08:27 2023 +0200
>  
> -2. Push changes to github
> --------------------------
> -[source,sh]
> ---------------------------------------------------------------------
> -git push
> -git push --tags
> +LTP 20230516

Do we want to have the XXXXYYZZ here instead?

> +-----BEGIN PGP SIGNATURE-----
> +
> +iQJDBAABCAAtFiEEIBb+pIWLHDazLoM6wN7C7nLzOl8FAmRjD8sPHHB2b3JlbEBz
> +...
> +-----END PGP SIGNATURE-----
> +
> +commit 3ebc2dfa85c2445bb68d8c0d66e33c4da1e1b3a7
> +gpg: Signature made Tue 16 May 2023 07:08:08 AM CEST
> +gpg:                using RSA key 2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F
> +...
> +Primary key fingerprint: 2016 FEA4 858B 1C36 B32E  833A C0DE C2EE 72F3 3A5F
> +Author: Person-who-released LTP <foo@example.com>
> +Date:   Tue May 16 07:08:08 2023 +0200
> +
> +    LTP 20230516

And here?

> +    Signed-off-by: Person-who-released LTP <foo@example.com>
> +
> +diff --git a/VERSION b/VERSION
> +index af4c41fec..ae488c0e7 100644
> +--- a/VERSION
> ++++ b/VERSION
> +@@ -1 +1 @@
> +-20230127
> ++20230516

And here?

> +Please check tag and signature. Proceed? [N/y]: y
> +===== Creating skeleton file for release notes =====
> +Skeleton file for release notes: /tmp/ltp-release-20230516
> +
> +Pushing changes to upstream git. Proceed? [N/y]: y
> +Enumerating objects: 1, done.
> +Counting objects: 100% (1/1), done.
> +Writing objects: 100% (1/1), 811 bytes | 811.00 KiB/s, done.
> +Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
> +To github.com:linux-test-project/ltp.git
> + * [new tag]             20230516 -> 20230516
>  --------------------------------------------------------------------
>  
> -3. Prepare tarballs
> --------------------
> +3. Prepare tarballs and metadata documentation
> +----------------------------------------------
>  [source,sh]
> +Use './tools/create-tarballs-metadata.sh' script.
>  --------------------------------------------------------------------
> -cd ..
> -git clone ltp ltp-full-YYYYMMDD
> -cd ltp-full-YYYYMMDD
> -# Update mce-inject submodule
> -git submodule init
> -git submodule update
> -# Generate configure script
> -make autotools
> -# Prepare the archives
> -cd ..
> -tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> -tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
> +$ ./tools/create-tarballs-metadata.sh
> +===== git clone =====
> +Cloning into 'ltp-full-20230516'...
> +done.
> +Submodule 'testcases/kernel/mce-test' (git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/mce-test.git) registered for path 'testcases/kernel/mce-test'
> +...
> +make[1]: Leaving directory '/home/foo/ltp-release-20230516/ltp-full-20230516/testcases/open_posix_testsuite'
> +===== Creating tarballs =====
> +===== Creating checksums =====
> +===== Creating metadata documentation =====
> +checking for a BSD-compatible install... /usr/bin/install -c
> +...
> +asciidoctor -d book metadata.txt -b xhtml
> +make[1]: Leaving directory '/home/foo/ltp-release-20230516/ltp-full-20230516/docparse'
> +make: Leaving directory '/home/foo/ltp-release-20230516/ltp-full-20230516/metadata'
> +'docparse/metadata.html' -> '/home/foo/ltp-release-20230516/metadata.20230516.html'
> +Generated files are in '/home/foo/ltp-release-20230516', upload them to github
>  --------------------------------------------------------------------
>  
> -4. Upload the tarballs to GitHub
> ---------------------------------
> +4. Upload the generated files to GitHub
> +---------------------------------------
>  
>  Click on 'releases' then switch to 'tags' then click on 'Add release notes' there should be 'Attach binaries ...' link at the bottom of the page.
>  
> -Don't forget to upload md5 and sha-1 sums for the tarballs as well.
> +Don't forget to upload checksums for the tarballs and metadata documentation as well.
>  
>  5. Send release announcement
>  ----------------------------
>  
> -Have a look at http://sourceforge.net/p/ltp/mailman/message/34429656/ to get the idea how it should look.
> +Have a look at https://lore.kernel.org/ltp/ZGNiQ1sMGvPU_ETp@yuki/ to get the idea how it should look.
>  
>  The announcement is send to:
>  
> @@ -64,4 +113,4 @@ CCed to:
>  
>  * lwn at lwn.net
>  * akpm at linux-foundation.org
> -* torvalds at linux-foundation.org.
> \ No newline at end of file
> +* torvalds at linux-foundation.org.
> -- 
> 2.40.1
> 

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-21  8:43   ` Jan Stancek
  2023-09-22 16:13     ` Petr Vorel
@ 2023-09-26 12:16     ` Cyril Hrubis
  2023-09-26 13:41       ` Petr Vorel
  1 sibling, 1 reply; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 12:16 UTC (permalink / raw)
  To: Jan Stancek; +Cc: Richard Palethorpe, Xiao Yang, ltp

Hi!
> > But I doubt that we really need the scripts to do release work
> > automatically since we _only_ do the release every four months.
> > It seems to bring additional maintenance work unnecessarily.
> >
> > I personally think the manual step is detailed enough for us.
> > But anyway, now you have done the automation, I don't have
> > an objection to your patch set, just feel that we automate for the
> > sake of automation :).
> >
> > I'd like to hear more opinions, but if most of us think the script is
> > necessary, I'm happy to accept them as well.
> 
> As someone who hasn't done release before, I'd probably do it
> manually first-time to double-check each step.
> 
> It's probably not necessary, but people who did releases many times may
> find it useful - I'm assuming the release procedure isn't changing
> that frequently.

I do have a similar script to tag git and release tarballs, doing that
manually every time is really error prone, so it's good idea to include
these in the repository.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-22 16:13     ` Petr Vorel
@ 2023-09-26 12:22       ` Cyril Hrubis
  2023-09-26 13:46         ` Petr Vorel
  0 siblings, 1 reply; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 12:22 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi!
> BTW the changelog skeleton should be separated to be useful (Cyril does it).

I do not think that we can ever automate the changelog creation, it's
manual process that requires reading patch description for all the
patches, understanding what is there and writing down something based on
that. Even the credits section usually needs some hand fixes, since
there are typos, different emails and so on in the git tags.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 4/5] doc: Add Release procedure
  2023-09-26 11:46   ` Cyril Hrubis
@ 2023-09-26 13:39     ` Petr Vorel
  0 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-26 13:39 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi Cyril,

> Hi!
> > This slightly outdated document exists in LTP wiki, start versioning it
> > in the original repository. The only unversioned file in the wiki is
> > now Home.rest.

NOTE: "slightly outdated"

...
> > +3. Prepare tarballs
> > +-------------------
> > +[source,sh]
> > +--------------------------------------------------------------------
> > +cd ..
> > +git clone ltp ltp-full-YYYYMMDD
> > +cd ltp-full-YYYYMMDD
> > +# Update mce-inject submodule
>        ^
> We do have a couple of submodules now, so this should be updated

I wanted to put my changes into separate commit, that's why I here just added
the original content. But if it makes more sense, I'll squash my change (next
commit) into this one.

> > +git submodule init
> > +git submodule update
> > +# Generate configure script
> > +make autotools
> > +# Prepare the archives
> > +cd ..
> > +tar -cjf ltp-full-YYYYMMDD.tar.bz2 ltp-full-YYYYMMDD --exclude .git
> > +tar -cJf ltp-full-YYYYMMDD.tar.xz ltp-full-YYYYMMDD --exclude .git
> > +--------------------------------------------------------------------
> > +
> > +4. Upload the tarballs to GitHub
> > +--------------------------------
> > +
> > +Click on 'releases' then switch to 'tags' then click on 'Add release notes' there should be 'Attach binaries ...' link at the bottom of the page.
> > +
> > +Don't forget to upload md5 and sha-1 sums for the tarballs as well.
> > +
> > +5. Send release announcement
> > +----------------------------
> > +
> > +Have a look at http://sourceforge.net/p/ltp/mailman/message/34429656/ to get the idea how it should look.
>                         ^
> 			This is now outdated, I guess that we should
> 			include a template rather than this?

I updated this in next commit to
https://lore.kernel.org/ltp/ZGNiQ1sMGvPU_ETp@yuki/

NOTE: I trust lore more than to our LTP ML - maybe we leave it one day, but I can use
link to our ML if you want. Or should I paste some text instead/with the link?

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-26 12:16     ` Cyril Hrubis
@ 2023-09-26 13:41       ` Petr Vorel
  0 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-26 13:41 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Xiao Yang, Richard Palethorpe, ltp

> Hi!
> > > But I doubt that we really need the scripts to do release work
> > > automatically since we _only_ do the release every four months.
> > > It seems to bring additional maintenance work unnecessarily.

> > > I personally think the manual step is detailed enough for us.
> > > But anyway, now you have done the automation, I don't have
> > > an objection to your patch set, just feel that we automate for the
> > > sake of automation :).

> > > I'd like to hear more opinions, but if most of us think the script is
> > > necessary, I'm happy to accept them as well.

> > As someone who hasn't done release before, I'd probably do it
> > manually first-time to double-check each step.

> > It's probably not necessary, but people who did releases many times may
> > find it useful - I'm assuming the release procedure isn't changing
> > that frequently.

> I do have a similar script to tag git and release tarballs, doing that
> manually every time is really error prone, so it's good idea to include
> these in the repository.

Thanks for your feedback. Of course, I'm open to any concerns about the actual
implementation.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-26 12:22       ` Cyril Hrubis
@ 2023-09-26 13:46         ` Petr Vorel
  2023-09-26 13:48           ` Cyril Hrubis
  0 siblings, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-26 13:46 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Xiao Yang, Richard Palethorpe, ltp

> Hi!
> > BTW the changelog skeleton should be separated to be useful (Cyril does it).

> I do not think that we can ever automate the changelog creation, it's
> manual process that requires reading patch description for all the
> patches, understanding what is there and writing down something based on
> that. Even the credits section usually needs some hand fixes, since
> there are typos, different emails and so on in the git tags.

OK, I remove skeleton creation and add it to docs in v2.

Fixing emails is needed because people have wrong setup. Feel free to ping these
people to fix their setup.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 0/5] Release scripts and docs
  2023-09-26 13:46         ` Petr Vorel
@ 2023-09-26 13:48           ` Cyril Hrubis
  0 siblings, 0 replies; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 13:48 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi!
> OK, I remove skeleton creation and add it to docs in v2.
> 
> Fixing emails is needed because people have wrong setup. Feel free to ping these
> people to fix their setup.

It's mostly typos in the Signed-off-by: and Reviewed-by: tags that are
not caught during the review...

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-26 12:14   ` Cyril Hrubis
@ 2023-09-26 13:54     ` Petr Vorel
  2023-09-26 14:23       ` Cyril Hrubis
  0 siblings, 1 reply; 28+ messages in thread
From: Petr Vorel @ 2023-09-26 13:54 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Xiao Yang, Richard Palethorpe, ltp

> Hi!
> > * Mention release preparation (Li Wang).
> > * Replace skeleton commands with the release scripts.
> > * Update link to the release announcement.

> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> >  doc/LTP-Release-Procedure.asciidoc | 111 +++++++++++++++++++++--------
> >  1 file changed, 80 insertions(+), 31 deletions(-)

> > diff --git a/doc/LTP-Release-Procedure.asciidoc b/doc/LTP-Release-Procedure.asciidoc
> > index cd7682fb8..26d85d1fa 100644
> > --- a/doc/LTP-Release-Procedure.asciidoc
> > +++ b/doc/LTP-Release-Procedure.asciidoc
> > @@ -5,54 +5,103 @@ This page contains quick summary of what needs to be done to do a LTP release. I

> >  NOTE: The string YYYYMMDD should be substituted to the current date.

> > -1. Tag the git
> > +1. Release eve work
>                ^
> 	       ?

"Eve" was suggested by Li. While it's a valid word, "preparation" would be
probably better.

> > +-------------------


> > +a. Collecting the (must have) patch list for new release
> > +b. Reviewing and merging the patch list of (a.)
> > +c. Widely testing, explicitly post results
> > +d. Tiny fix according to release testing
> > +e. Writing release note

> To be honest this list looks too sparse to be really useful, what about
> a paragraph with more detailed explanations:

> The release procedure generally takes a few weeks. In the first week or
> two patches that should go into the release are reviewed and possibly
> merged. These patches are either fixes or patches pointed out by the
> community. Patch review, when finished, is followed by a git freeze,
> which is a period where only fixes are pushed to the git. During that
> period community is expected to run a LTP pre-release tests, reports
> problems, and/or send fixes to the mailing list. In this period we are
> especially making sure that there are no regressions in the test results
> on a wide range of distributions and architectures. Once the
> stabilization period has ended the time has finally come to proceed with
> the release.

Yes, that looks much better to me.

> > +2. Tag the git
> > --------------------------
> > -[source,sh]
> > ---------------------------------------------------------------------
> > -git push
> > -git push --tags
> > +LTP 20230516

> Do we want to have the XXXXYYZZ here instead?
Sure, I'll replace it with YYYYMMDD.  I started with a real life example, but
then I removed myself...

> > +-----BEGIN PGP SIGNATURE-----
> > +
> > +iQJDBAABCAAtFiEEIBb+pIWLHDazLoM6wN7C7nLzOl8FAmRjD8sPHHB2b3JlbEBz
> > +...
> > +-----END PGP SIGNATURE-----
> > +
> > +commit 3ebc2dfa85c2445bb68d8c0d66e33c4da1e1b3a7
> > +gpg: Signature made Tue 16 May 2023 07:08:08 AM CEST
> > +gpg:                using RSA key 2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F
> > +...
> > +Primary key fingerprint: 2016 FEA4 858B 1C36 B32E  833A C0DE C2EE 72F3 3A5F
> > +Author: Person-who-released LTP <foo@example.com>
> > +Date:   Tue May 16 07:08:08 2023 +0200
> > +
> > +    LTP 20230516

> And here?

> > +    Signed-off-by: Person-who-released LTP <foo@example.com>
> > +
> > +diff --git a/VERSION b/VERSION
> > +index af4c41fec..ae488c0e7 100644
> > +--- a/VERSION
> > ++++ b/VERSION
> > +@@ -1 +1 @@
> > +-20230127
> > ++20230516

> And here?


...
> >  The announcement is send to:

> >  * lwn at lwn.net
> >  * akpm at linux-foundation.org
> > -* torvalds at linux-foundation.org.
Are these mails complete? I would at least add automated-testing@lists.yoctoproject.org.

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-26 13:54     ` Petr Vorel
@ 2023-09-26 14:23       ` Cyril Hrubis
  2023-09-26 15:29         ` Petr Vorel
  0 siblings, 1 reply; 28+ messages in thread
From: Cyril Hrubis @ 2023-09-26 14:23 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Xiao Yang, Richard Palethorpe, ltp

Hi!
> > >  * lwn at lwn.net
> > >  * akpm at linux-foundation.org
> > > -* torvalds at linux-foundation.org.
> Are these mails complete? I would at least add automated-testing@lists.yoctoproject.org.

These are actually emails that we inherited from times 10 years ago,
nobody who gets these emails haven't complained yet, so it stays that
way.

I guess that a proper solution may be having a ltp-release mailing list
so that people can subscribe themselves, on the other way this may be
overkill.

-- 
Cyril Hrubis
chrubis@suse.cz

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-26 14:23       ` Cyril Hrubis
@ 2023-09-26 15:29         ` Petr Vorel
  0 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-26 15:29 UTC (permalink / raw)
  To: Cyril Hrubis; +Cc: Xiao Yang, Richard Palethorpe, ltp

> Hi!
> > > >  * lwn at lwn.net
> > > >  * akpm at linux-foundation.org
> > > > -* torvalds at linux-foundation.org.
> > Are these mails complete? I would at least add automated-testing@lists.yoctoproject.org.

> These are actually emails that we inherited from times 10 years ago,
> nobody who gets these emails haven't complained yet, so it stays that
> way.

Sure, sure. I just suggest to add automated-testing at lists.yoctoproject.org
(to the other mailing list section, instead of to the individual persons
sections I wrongly put now).

> I guess that a proper solution may be having a ltp-release mailing list
> so that people can subscribe themselves, on the other way this may be
> overkill.

It looks to me overkill as well.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [LTP] [PATCH 5/5] doc: Update release procedure
  2023-09-25 12:50         ` Petr Vorel
@ 2023-09-27  6:44           ` Petr Vorel
  0 siblings, 0 replies; 28+ messages in thread
From: Petr Vorel @ 2023-09-27  6:44 UTC (permalink / raw)
  To: Li Wang, Cyril Hrubis; +Cc: Richard Palethorpe, ltp

Hi Li, Cyril,

...
> > > > > +Use './tools/tag-release.sh' script, which creates the tag and push
> > > it to
> > > > > github.
> > > > >  [source,sh]
> > > > >  --------------------------------------------------------------------
> > > > > -cd ltp
> > > > > -echo YYYYMMDD > VERSION
> > > > > -git commit -s -m 'LTP YYYYMMDD' VERSION
> > > > > -git tag -a YYYYMMDD -m 'LTP YYYYMMDD'
> > > > > ---------------------------------------------------------------------

> > > > What about adding those manual steps into tag-release.sh as code
> > > comments?
> > > > That'd be helpful to people who never do release work to try that first
> > > > time.

> > > Good point, makes sense.
> > > I suppose you mean to bput them at the top like this:



> > Yes, even looks verbose, but will be helpful to people who never do release
> > work.


> Sure, no problem. I put all commands.

Or how about instead of putting these commands in the script keep them in wiki
page (+ update them) and mention the script in the end? Script would also
contain link to the wiki page.
If somebody does not want to use script, he will probably find more convenient.

Kind regards,
Petr

> Kind regards,
> Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2023-09-27  6:44 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-20  9:53 [LTP] [PATCH 0/5] Release scripts and docs Petr Vorel
2023-09-20  9:53 ` [LTP] [PATCH 1/5] tools: Add a script for tagging the release Petr Vorel
2023-09-20  9:53 ` [LTP] [PATCH 2/5] tools: Add script for creating tarballs and metadata Petr Vorel
2023-09-20  9:53 ` [LTP] [PATCH 3/5] doc: Rename files to names from ltp.wiki.git Petr Vorel
2023-09-26 11:47   ` Cyril Hrubis
2023-09-20  9:53 ` [LTP] [PATCH 4/5] doc: Add Release procedure Petr Vorel
2023-09-26 11:46   ` Cyril Hrubis
2023-09-26 13:39     ` Petr Vorel
2023-09-20  9:53 ` [LTP] [PATCH 5/5] doc: Update release procedure Petr Vorel
2023-09-20 15:29   ` Petr Vorel
2023-09-20 15:39   ` Petr Vorel
2023-09-24  0:35   ` Li Wang
2023-09-24 21:14     ` Petr Vorel
2023-09-25  2:31       ` Li Wang
2023-09-25 12:50         ` Petr Vorel
2023-09-27  6:44           ` Petr Vorel
2023-09-26 12:14   ` Cyril Hrubis
2023-09-26 13:54     ` Petr Vorel
2023-09-26 14:23       ` Cyril Hrubis
2023-09-26 15:29         ` Petr Vorel
2023-09-21  8:18 ` [LTP] [PATCH 0/5] Release scripts and docs Li Wang
2023-09-21  8:43   ` Jan Stancek
2023-09-22 16:13     ` Petr Vorel
2023-09-26 12:22       ` Cyril Hrubis
2023-09-26 13:46         ` Petr Vorel
2023-09-26 13:48           ` Cyril Hrubis
2023-09-26 12:16     ` Cyril Hrubis
2023-09-26 13:41       ` Petr Vorel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.