8484 echo "CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
8585 fi
8686
87+ - name : Get version from tag
88+ id : version
89+ run : |
90+ # Get version from tag or use git describe
91+ if [[ "${{ github.ref }}" == refs/tags/* ]]; then
92+ VERSION=${GITHUB_REF#refs/tags/v}
93+ else
94+ VERSION=$(git describe --tags --always 2>/dev/null || echo "dev")
95+ fi
96+ COMMIT=$(git rev-parse --short HEAD)
97+ DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
98+ echo "version=$VERSION" >> $GITHUB_OUTPUT
99+ echo "commit=$COMMIT" >> $GITHUB_OUTPUT
100+ echo "date=$DATE" >> $GITHUB_OUTPUT
101+
87102 - name : Build binary
88103 env :
89104 GOOS : ${{ matrix.goos }}
94109 if [ "${{ matrix.goos }}" = "windows" ]; then
95110 BINARY_NAME="${BINARY_NAME}.exe"
96111 fi
97- go build -ldflags="-s -w" -o "${BINARY_NAME}"
112+
113+ LDFLAGS="-s -w -X main.version=${{ steps.version.outputs.version }} -X main.commit=${{ steps.version.outputs.commit }} -X main.date=${{ steps.version.outputs.date }}"
114+ go build -ldflags="$LDFLAGS" -o "${BINARY_NAME}"
98115
99116 if [[ "${{ matrix.os }}" == macos* ]]; then
100117 shasum -a 256 "${BINARY_NAME}" > "${BINARY_NAME}.sha256"
@@ -103,7 +120,7 @@ jobs:
103120 fi
104121
105122 - name : Upload artifacts
106- if : github.event_name != 'pull_request' # don't upload artifacts for PRs
123+ if : github.event_name != 'pull_request'
107124 uses : actions/upload-artifact@v4
108125 with :
109126 name : binaries-${{ matrix.goos }}-${{ matrix.goarch }}
@@ -174,6 +191,8 @@ jobs:
174191 steps :
175192 - name : Checkout code
176193 uses : actions/checkout@v4
194+ with :
195+ fetch-depth : 0
177196
178197 - name : Download all artifacts
179198 uses : actions/download-artifact@v4
@@ -189,14 +208,60 @@ jobs:
189208
190209 - name : Generate release notes
191210 run : |
192- echo "# Vertex Service Manager ${GITHUB_REF#refs/tags/}" > release-notes.md
211+ # Get version from tag
212+ VERSION=${GITHUB_REF#refs/tags/}
213+
214+ echo "# Vertex Service Manager $VERSION" > release-notes.md
215+ echo "" >> release-notes.md
216+
217+ # Get commits since last tag
218+ PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
219+ if [ -n "$PREVIOUS_TAG" ]; then
220+ echo "## Changes since $PREVIOUS_TAG" >> release-notes.md
221+ echo "" >> release-notes.md
222+ git log ${PREVIOUS_TAG}..HEAD --pretty=format:"- %s (%h)" >> release-notes.md
223+ echo "" >> release-notes.md
224+ fi
225+
193226 echo "" >> release-notes.md
194227 echo "## 🚀 Features" >> release-notes.md
195228 echo "- Complete microservice management platform" >> release-notes.md
196229 echo "- Embedded React web interface" >> release-notes.md
197230 echo "- Cross-platform support" >> release-notes.md
198231 echo "- Real-time monitoring and logs" >> release-notes.md
232+ echo "- Profile-based service management" >> release-notes.md
233+ echo "- Environment variable management" >> release-notes.md
234+ echo "" >> release-notes.md
235+ echo "## 📦 Installation" >> release-notes.md
236+ echo "" >> release-notes.md
237+ echo "### Download Binary" >> release-notes.md
238+ echo "" >> release-notes.md
239+ echo "Download the appropriate binary for your platform:" >> release-notes.md
240+ echo "" >> release-notes.md
241+ echo "- **Linux (amd64)**: \`vertex-linux-amd64\`" >> release-notes.md
242+ echo "- **Linux (arm64)**: \`vertex-linux-arm64\`" >> release-notes.md
243+ echo "- **macOS (Intel)**: \`vertex-darwin-amd64\`" >> release-notes.md
244+ echo "- **macOS (Apple Silicon)**: \`vertex-darwin-arm64\`" >> release-notes.md
245+ echo "- **Windows (amd64)**: \`vertex-windows-amd64.exe\`" >> release-notes.md
199246 echo "" >> release-notes.md
247+ echo "\`\`\`bash" >> release-notes.md
248+ echo "# Make executable and install" >> release-notes.md
249+ echo "chmod +x vertex-*" >> release-notes.md
250+ echo "sudo mv vertex-* /usr/local/bin/vertex" >> release-notes.md
251+ echo "" >> release-notes.md
252+ echo "# Verify installation" >> release-notes.md
253+ echo "vertex version" >> release-notes.md
254+ echo "\`\`\`" >> release-notes.md
255+ echo "" >> release-notes.md
256+ echo "### Docker" >> release-notes.md
257+ echo "" >> release-notes.md
258+ echo "\`\`\`bash" >> release-notes.md
259+ echo "docker pull \${{ secrets.DOCKERHUB_USERNAME }}/vertex:$VERSION" >> release-notes.md
260+ echo "# or" >> release-notes.md
261+ echo "docker pull \${{ secrets.DOCKERHUB_USERNAME }}/vertex:latest" >> release-notes.md
262+ echo "\`\`\`" >> release-notes.md
263+
264+ cat release-notes.md
200265
201266 - name : Create GitHub Release
202267 uses : softprops/action-gh-release@v2
0 commit comments