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

ty #58

Closed
wants to merge 2 commits into from
Closed

ty #58

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
68 changes: 68 additions & 0 deletions .github/workflows/update-jib-base-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
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: Run bash script
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"

# Create a new branch
branch_name="update-eclipse-temurin-$latest_version"
git checkout -b "$branch_name"

# Add and commit the changes
git add JShellAPI/build.gradle
git commit -m "Update eclipse-temurin version to $latest_version"

# Push the new branch to the remote repository
git push origin "$branch_name"

- name: Create a pull request
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 "main"
Loading