From d7a4936000f1110c0c896a2f79a85fc8de7cf409 Mon Sep 17 00:00:00 2001 From: abnerchiu Date: Mon, 4 May 2026 23:47:37 +0800 Subject: [PATCH] ci: improve release workflow with full build, checksum, and smoke test --- .github/workflows/release.yml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2f69814..4130849 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,8 +24,8 @@ jobs: - name: Setup Gradle uses: gradle/actions/setup-gradle@v4 - - name: Build JAR - run: ./gradlew bootJar + - name: Build and Test + run: ./gradlew build - name: Get version from tag id: version @@ -33,14 +33,26 @@ jobs: TAG="${GITHUB_REF#refs/tags/}" echo "tag=$TAG" >> $GITHUB_OUTPUT - - name: Rename JAR + - name: Prepare release artifacts run: | mkdir -p dist - cp build/libs/echo-server-*.jar dist/echo-server-${{ steps.version.outputs.tag }}.jar + JAR_NAME="echo-server-${{ steps.version.outputs.tag }}.jar" + cp build/libs/echo-server-*.jar "dist/${JAR_NAME}" + cd dist + shasum -a 256 "${JAR_NAME}" > "${JAR_NAME}.sha256" - - name: Upload JAR to Release + - name: Smoke test JAR + run: | + timeout 15 java -jar dist/echo-server-*.jar \ + --spring.profiles.active=dev \ + --server.port=0 \ + || [ $? -eq 124 ] + + - name: Upload artifacts to Release uses: softprops/action-gh-release@v2 with: - files: dist/echo-server-*.jar + files: | + dist/echo-server-*.jar + dist/echo-server-*.sha256 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}