docs: update release guide (clarify CI/local release behavior) #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: release | |
| on: | |
| push: | |
| tags: | |
| - 'classlib-*' | |
| jobs: | |
| publish: | |
| name: Build and publish release | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '8' | |
| - name: Make build script executable | |
| run: chmod +x ./build.sh || true | |
| - name: Check if release already exists | |
| id: check_release | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| set -e | |
| # derive tag name from ref | |
| TAG=${GITHUB_REF#refs/tags/} | |
| echo "Checking for existing release for tag: $TAG" | |
| if curl -sf -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/tags/$TAG" >/dev/null; then | |
| echo "exists=true" >> "$GITHUB_OUTPUT" | |
| echo "Release for $TAG already exists; CI will skip publishing." | |
| else | |
| echo "exists=false" >> "$GITHUB_OUTPUT" | |
| echo "No existing release for $TAG; CI will publish." | |
| fi | |
| - name: Build artifacts | |
| if: steps.check_release.outputs.exists == 'false' | |
| # Pass -Djava.runtime.version=1.6 to satisfy legacy Ant java version check | |
| run: ./build.sh -Djava.runtime.version=1.6 classlib-pack classlib-src-bz | |
| - name: Generate MD5 checksums | |
| if: steps.check_release.outputs.exists == 'false' | |
| run: | | |
| set -e | |
| ART_DIR=all/build | |
| for f in classlib.pack.gz classlib-src.jar.bz2; do | |
| if [ -f "${ART_DIR}/${f}" ]; then | |
| md5sum "${ART_DIR}/${f}" | awk '{print $1}' > "${ART_DIR}/${f}.md5" | |
| fi | |
| done | |
| - name: Create GitHub Release and upload assets | |
| if: steps.check_release.outputs.exists == 'false' | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| files: | | |
| all/build/classlib.pack.gz | |
| all/build/classlib.pack.gz.md5 | |
| all/build/classlib-src.jar.bz2 | |
| all/build/classlib-src.jar.bz2.md5 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |