You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2026/09/03 12:21:43 UTC
(skywalking-ai-sessionizer) branch main updated: Tag images and artifacts with the complete commit id
This is an automated email from the ASF dual-hosted git repository.
wu-sheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-ai-sessionizer.git
The following commit(s) were added to refs/heads/main by this push:
new 9e62195 Tag images and artifacts with the complete commit id
9e62195 is described below
commit 9e621957706a2dda0c25886404cb0c395cdbdf39
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Thu Sep 3 20:21:37 2026 +0800
Tag images and artifacts with the complete commit id
A commit build was tagged sha- and eight characters. It is now the
whole 40-character id, which is what a person copies from git and what
the revision label already carried. The binaries artifact and the
version stamped into a non-release build use the same id.
---
.github/workflows/ci.yaml | 9 +++++----
README.md | 4 ++--
docs/en/guides/how-to-release.md | 2 +-
docs/en/setup/container-image.md | 7 ++++---
4 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 0073ed7..bf34c8a 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -109,7 +109,7 @@ jobs:
if [ "$EVENT" = "workflow_dispatch" ]; then ref="refs/tags/$INPUT_TAG"; fi
case "$ref" in
refs/tags/v*) v="${ref#refs/tags/v}" ;;
- *) v="$(git rev-parse --short=8 HEAD)" ;;
+ *) v="$(git rev-parse HEAD)" ;;
esac
echo "version=$v" >> "$GITHUB_OUTPUT"
# Every platform is cross-compiled from one runner: Go needs no
@@ -177,8 +177,9 @@ jobs:
set -eu
image=$(echo "$IMAGE" | tr '[:upper:]' '[:lower:]')
sha=$(git rev-parse HEAD)
- tags="$image:sha-${sha::8}"
- version="sha-${sha::8}"
+ # Every build is tagged with its complete commit id, never moved.
+ tags="$image:$sha"
+ version="$sha"
ref="$GITHUB_REF"
if [ "$EVENT" = "workflow_dispatch" ]; then ref="refs/tags/$INPUT_TAG"; fi
case "$EVENT:$ref" in
@@ -187,7 +188,7 @@ jobs:
tags="$tags,$image:main" ;;
push:refs/tags/v*)
# A tag is a release candidate until the vote passes, so a tag
- # push publishes the immutable sha tag and nothing else.
+ # push publishes the commit tag and nothing else.
echo "::notice::${ref#refs/tags/} is a candidate; version tags are attached when its GitHub release is published" ;;
release:refs/tags/v*|workflow_dispatch:refs/tags/v*)
version="${ref#refs/tags/v}"
diff --git a/README.md b/README.md
index 0b3ffbe..8a914a7 100644
--- a/README.md
+++ b/README.md
@@ -125,10 +125,10 @@ docker run --rm -p 8787:8787 -v "$PWD/data:/asz/data" \
| `0.1` | the newest patch of that line |
| `latest` | the newest release |
| `main` | the development head |
-| `sha-<commit>` | one commit, never moved |
+| `<commit id>` | one commit, by its complete id, never moved |
A `v*` tag is a release candidate until the Apache vote passes, so pushing one
-publishes only its `sha-` tag. The version tags are attached when the GitHub
+publishes only its commit tag. The version tags are attached when the GitHub
release is published. Any `asz` command runs the same way: put it after the
image name. See [Container Image](docs/en/setup/container-image.md).
`make docker` builds the image locally.
diff --git a/docs/en/guides/how-to-release.md b/docs/en/guides/how-to-release.md
index 32fa3d8..6c7dbfb 100644
--- a/docs/en/guides/how-to-release.md
+++ b/docs/en/guides/how-to-release.md
@@ -38,7 +38,7 @@ The platforms are the `PLATFORMS` list in the Makefile: macOS on Apple silicon a
x86-64 and ARM 64, and Windows on x86-64. Every one is cross-compiled from the release manager's
machine, with the Go version the module declares.
-Pushing the tag builds the container image and publishes it under its `sha-` tag only, and builds
+Pushing the tag builds the container image and publishes it under its commit id only, and builds
the same binary packages as a workflow artifact. The version tags and the release assets wait for
the vote.
diff --git a/docs/en/setup/container-image.md b/docs/en/setup/container-image.md
index cd22b36..c7d6dfa 100644
--- a/docs/en/setup/container-image.md
+++ b/docs/en/setup/container-image.md
@@ -20,14 +20,15 @@ read the same way it is on a host.
| `0.1` | the newest patch release of that line | on each patch |
| `latest` | the newest release | on each release |
| `main` | the development head | on each push to `main` |
-| `sha-<commit>` | one commit | never |
+| `<commit id>` | one commit, by its complete 40-character id | never |
A `v*` tag is a release candidate until the Apache vote has passed. Pushing one publishes only its
-`sha-` tag. The version tags are attached when the GitHub release is published, which happens after
+commit tag. The version tags are attached when the GitHub release is published, which happens after
the vote. A pre-release version such as `0.2.0-rc1` gets its own tag and moves nothing else.
Every image carries `org.opencontainers.image.version` and `org.opencontainers.image.revision`
-labels, and `asz version` inside it prints the same version.
+labels, and `asz version` inside it prints the same version: the release version, or the complete
+commit id for a build that is not a release.
## Serve a storage root