Update Java Stellar SDK Version #1
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: "Update Java Stellar SDK Version" | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: "New java-stellar-sdk version (e.g., 1.5.2 or 2.0.0-beta1)" | |
| required: true | |
| type: string | |
| is_prerelease: | |
| description: "Is this a pre-release version?" | |
| required: true | |
| type: boolean | |
| default: false | |
| jobs: | |
| update-version: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Git | |
| run: | | |
| git config --local user.email "action@github.com" | |
| git config --local user.name "GitHub Action" | |
| - name: Determine PR title prefix | |
| id: pr-prefix | |
| run: | | |
| if [ "${{ inputs.is_prerelease }}" = "true" ]; then | |
| echo "prefix=pre-release" >> $GITHUB_OUTPUT | |
| else | |
| echo "prefix=release" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Create feature branch | |
| run: | | |
| BRANCH_NAME="update-version-${{ inputs.version }}" | |
| git checkout -b "$BRANCH_NAME" | |
| - name: Update build.gradle.kts (root) | |
| run: | | |
| # Get current version from build.gradle.kts | |
| CURRENT_VERSION=$(grep '^version = ' build.gradle.kts | sed 's/version = "\(.*\)"/\1/') | |
| echo "Current version: $CURRENT_VERSION" | |
| echo "New version: ${{ inputs.version }}" | |
| # Update version | |
| sed -i.bak 's/^version = ".*"/version = "${{ inputs.version }}"/' build.gradle.kts | |
| # Update dependency version | |
| sed -i.bak 's/implementation("network\.lightsail:stellar-sdk:.*")/implementation("network.lightsail:stellar-sdk:${{ inputs.version }}")/' build.gradle.kts | |
| # Remove backup files | |
| rm -f build.gradle.kts.bak | |
| - name: Update README.md | |
| run: | | |
| # Update Maven dependency version | |
| sed -i.bak 's/<version>.*<\/version>/<version>${{ inputs.version }}<\/version>/' README.md | |
| # Update Gradle implementation version | |
| sed -i.bak "s/implementation 'network\.lightsail:stellar-sdk-android-spi:.*'/implementation 'network.lightsail:stellar-sdk-android-spi:${{ inputs.version }}'/" README.md | |
| # Remove backup files | |
| rm -f README.md.bak | |
| - name: Update android_test/app/build.gradle.kts | |
| run: | | |
| # Update jar file reference | |
| sed -i.bak 's/implementation(files("libs\/stellar-sdk-android-spi-.*\.jar"))/implementation(files("libs\/stellar-sdk-android-spi-${{ inputs.version }}.jar"))/' android_test/app/build.gradle.kts | |
| # Update dependency version | |
| sed -i.bak 's/implementation("network\.lightsail:stellar-sdk:.*")/implementation("network.lightsail:stellar-sdk:${{ inputs.version }}")/' android_test/app/build.gradle.kts | |
| # Remove backup files | |
| rm -f android_test/app/build.gradle.kts.bak | |
| - name: Update CHANGELOG.md | |
| run: | | |
| # Get current version from build.gradle.kts to find what we're updating from | |
| git show HEAD:build.gradle.kts | grep '^version = ' | sed 's/version = "\(.*\)"/\1/' > current_version.txt | |
| PREVIOUS_VERSION=$(cat current_version.txt) | |
| # Create temporary file with new changelog entry | |
| echo "# Changelog" > CHANGELOG_new.md | |
| echo "" >> CHANGELOG_new.md | |
| echo "## ${{ inputs.version }}" >> CHANGELOG_new.md | |
| echo "* Bump \`java-stellar-sdk\` from $PREVIOUS_VERSION to ${{ inputs.version }}" >> CHANGELOG_new.md | |
| echo "" >> CHANGELOG_new.md | |
| # Append the rest of the changelog (skip the first line "# Changelog") | |
| tail -n +2 CHANGELOG.md >> CHANGELOG_new.md | |
| # Replace the original file | |
| mv CHANGELOG_new.md CHANGELOG.md | |
| # Clean up | |
| rm -f current_version.txt | |
| - name: Commit changes | |
| run: | | |
| git add build.gradle.kts README.md android_test/app/build.gradle.kts CHANGELOG.md | |
| git commit -m "${{ steps.pr-prefix.outputs.prefix }}: ${{ inputs.version }}" | |
| - name: Push changes | |
| run: | | |
| git push origin "update-version-${{ inputs.version }}" | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@v5 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| branch: update-version-${{ inputs.version }} | |
| title: "${{ steps.pr-prefix.outputs.prefix }}: ${{ inputs.version }}" | |
| body: | | |
| This PR updates the java-stellar-sdk version to ${{ inputs.version }}. | |
| ## Changes | |
| - Updated version in `build.gradle.kts` | |
| - Updated dependency versions in `build.gradle.kts` and `android_test/app/build.gradle.kts` | |
| - Updated version references in `README.md` | |
| - Added changelog entry in `CHANGELOG.md` | |
| ## Type | |
| ${{ steps.pr-prefix.outputs.prefix == 'pre-release' && '🚀 Pre-release' || '📦 Release' }} | |
| Auto-generated by GitHub Actions. | |
| draft: false | |
| delete-branch: true |