Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test #59

Closed
wants to merge 9 commits into from
69 changes: 69 additions & 0 deletions .github/workflows/update-jib-base-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Auto-Update Jib Base Image

on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 5" # Every Friday at Midnight

jobs:
update_build_gradle:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install GitHub CLI
run: |
sudo apt-get update
sudo apt-get install gh

- name: Update build.gradle
run: |
# Extract current version from JShellAPI build.gradle
gradle_file="JShellAPI/build.gradle"
current_version=$(grep -oP "(?<=from\.image\s=\s'eclipse-temurin:)\d+" $gradle_file)

if [ -z "$current_version" ]; then
echo "Failed to extract version from $gradle_file \"from.image\""
exit 1
fi

# Fetch the latest eclipse-temurin image
latest_version=$(curl -s "https://hub.docker.com/v2/repositories/library/eclipse-temurin/tags/?page_size=100" | \
jq -r '[.results[].name | select(test("^[0-9]+"))] | map(capture("^(?<major>[0-9]+)")) | max_by(.major | tonumber) | .major')

# Check if a new version is available
if [ "$latest_version" -le "$current_version" ]; then
echo "No new versions available"
exit 1
fi

# Update the build.gradle with the new version
sed -i "s/eclipse-temurin:$current_version/eclipse-temurin:$latest_version/" $gradle_file

echo "Updated eclipse-temurin version from $current_version to $latest_version"

- name: Commit changes
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"

branch_name="update-eclipse-temurin-$latest_version"
git checkout -b "$branch_name"

git add "$gradle_file"
git commit -m "Update eclipse-temurin version to $latest_version"

git fetch origin
git rebase origin/develop
git push origin "$branch_name"

- name: Create a pull request
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr create --title "Update eclipse-temurin version to $latest_version" \
--body "This PR updates the eclipse-temurin version in the JShellAPI build.gradle file from $current_version to $latest_version." \
--head "$branch_name" \
--base "develop"
Loading