Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 0 additions & 58 deletions .github/workflows/create-and-publish-release.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This workflow is triggered when a new tag is pushed to main.
# It can also be run manually to re-publish a release in case it failed for some reason.
name: Publish Existing Release
name: Publish Release From Tag

on:
push:
Expand All @@ -22,7 +22,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Determine tag
id: determine-tag
run: |
Expand All @@ -33,34 +33,34 @@ jobs:
fi
echo "tag=$TAG_NAME" >> $GITHUB_OUTPUT
echo "Using tag: $TAG_NAME"

- name: Validate tag format
run: |
TAG="${{ steps.determine-tag.outputs.tag }}"

# Check if tag starts with 'v'
if [[ ! "$TAG" =~ ^v ]]; then
echo "Error: Tag '$TAG' must start with 'v'"
exit 1
fi

# Extract version without 'v' prefix
VERSION="${TAG#v}"

# Check if version is valid semver (x.y.z)
if [[ ! "$VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: Tag '$TAG' is not valid semver format (vx.y.z)"
exit 1
fi

# Check that version does not end with -SNAPSHOT
if [[ "$VERSION" =~ -SNAPSHOT$ ]]; then
echo "Error: Tag '$TAG' cannot end with '-SNAPSHOT'"
exit 1
fi

echo "Tag '$TAG' is valid"

- name: Verify tag exists
run: |
TAG="${{ steps.determine-tag.outputs.tag }}"
Expand All @@ -69,64 +69,64 @@ jobs:
exit 1
fi
echo "Tag '$TAG' exists"

- name: Checkout tag
run: |
git checkout ${{ steps.determine-tag.outputs.tag }}

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Setup Gradle
uses: gradle/gradle-build-action@v2

- name: Run CI
run: ./gradlew check build
run: ./gradlew check

- name: Build release artifacts
run: ./gradlew publishToMavenLocal -Pversion=${{ steps.determine-tag.outputs.tag }}
run: ./gradlew build publishToMavenLocal -Pversion=${{ steps.determine-tag.outputs.tag }}

- name: Find built artifacts
id: find-artifacts
run: |
VERSION="${{ steps.determine-tag.outputs.tag }}"
VERSION_NO_V="${VERSION#v}"

# Find the built JAR files
MAIN_JAR=$(find build/libs -name "*-${VERSION_NO_V}.jar" ! -name "*-sources.jar" ! -name "*-javadoc.jar" | head -1)
SOURCES_JAR=$(find build/libs -name "*-${VERSION_NO_V}-sources.jar" | head -1)
JAVADOC_JAR=$(find build/libs -name "*-${VERSION_NO_V}-javadoc.jar" | head -1)

echo "main-jar=$MAIN_JAR" >> $GITHUB_OUTPUT
echo "sources-jar=$SOURCES_JAR" >> $GITHUB_OUTPUT
echo "sources-jar=$SOURCES_JAR" >> $GITHUB_OUTPUT
echo "javadoc-jar=$JAVADOC_JAR" >> $GITHUB_OUTPUT

echo "Found artifacts:"
echo " Main JAR: $MAIN_JAR"
echo " Sources JAR: $SOURCES_JAR"
echo " Javadoc JAR: $JAVADOC_JAR"

- name: Create GitHub Release
run: |
TAG="${{ steps.determine-tag.outputs.tag }}"

# Create the release
gh release create "$TAG" \
--generate-notes \
--title "Release $TAG"

# Upload artifacts if they exist
if [[ -n "${{ steps.find-artifacts.outputs.main-jar }}" && -f "${{ steps.find-artifacts.outputs.main-jar }}" ]]; then
gh release upload "$TAG" "${{ steps.find-artifacts.outputs.main-jar }}"
fi

if [[ -n "${{ steps.find-artifacts.outputs.sources-jar }}" && -f "${{ steps.find-artifacts.outputs.sources-jar }}" ]]; then
gh release upload "$TAG" "${{ steps.find-artifacts.outputs.sources-jar }}"
fi

if [[ -n "${{ steps.find-artifacts.outputs.javadoc-jar }}" && -f "${{ steps.find-artifacts.outputs.javadoc-jar }}" ]]; then
gh release upload "$TAG" "${{ steps.find-artifacts.outputs.javadoc-jar }}"
fi
Expand Down
117 changes: 0 additions & 117 deletions CLAUDE.md

This file was deleted.

Loading