Skip to content

Commit

Permalink
Added automated updates
Browse files Browse the repository at this point in the history
  • Loading branch information
jaydrogers committed Oct 29, 2024
1 parent 2f1d8c8 commit 30460de
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 2 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/check-gh-cli-version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Check GitHub CLI Version

on:
schedule:
- cron: '0 0 * * *' # Runs daily at midnight UTC
workflow_dispatch: # Allows manual triggering

jobs:
check-version:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4

- name: Get latest gh CLI version
id: get_version
run: |
LATEST_VERSION=$(curl -s https://api.github.com/repos/cli/cli/releases/latest | jq -r .tag_name | sed 's/^v//')
echo "LATEST_VERSION=$LATEST_VERSION" >> $GITHUB_ENV
echo "Latest version: $LATEST_VERSION"
- name: Check and update version
run: |
# Read current version from Dockerfile
CURRENT_VERSION=$(grep -oP 'BUILD_GITHUB_CLI_VERSION=\K[0-9.]+' src/Dockerfile)
echo "Current version: $CURRENT_VERSION"
if [ "$CURRENT_VERSION" != "${{ env.LATEST_VERSION }}" ]; then
echo "Updating version from $CURRENT_VERSION to ${{ env.LATEST_VERSION }}"
# Create new branch
git checkout -b update-gh-cli-version-${{ env.LATEST_VERSION }}
# Update Dockerfile
sed -i "s/BUILD_GITHUB_CLI_VERSION=$CURRENT_VERSION/BUILD_GITHUB_CLI_VERSION=${{ env.LATEST_VERSION }}/" src/Dockerfile
# Update workflow file
sed -i "s/- $CURRENT_VERSION/- ${{ env.LATEST_VERSION }}/" .github/workflows/service_docker-build-and-publish.yml
# Create commit and push
git config --global user.name 'github-actions[bot]'
git config --global user.email 'github-actions[bot]@users.noreply.github.com'
git add src/Dockerfile .github/workflows/service_docker-build-and-publish.yml
git commit -m "chore: update GitHub CLI version to ${{ env.LATEST_VERSION }}"
git push origin update-gh-cli-version-${{ env.LATEST_VERSION }}
# Create PR
gh auth login --with-token <<< "${{ secrets.GITHUB_TOKEN }}"
gh pr create \
--title "chore: update GitHub CLI version to ${{ env.LATEST_VERSION }}" \
--body "Automated PR to update GitHub CLI version from $CURRENT_VERSION to ${{ env.LATEST_VERSION }}" \
--label "dependencies" \
--base main \
--head update-gh-cli-version-${{ env.LATEST_VERSION }} \
--auto-merge
else
echo "Already using the latest version ($CURRENT_VERSION)"
fi
2 changes: 1 addition & 1 deletion .github/workflows/service_docker-build-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- alpine:3.20
- debian:bookworm-slim
github_cli_version:
- 2.60.1
- 2.60.0
steps:
- name: Check out code.
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion src/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ARG BUILD_BASE_OS_VERSION=alpine:3.20

FROM ${BUILD_BASE_OS_VERSION}
ARG BUILD_GITHUB_CLI_VERSION=2.60.1
ARG BUILD_GITHUB_CLI_VERSION=2.60.0
ARG ALPINE_DEPENDENCIES="curl,git,ca-certificates,su-exec,openssh-client,shadow,sshpass"
ARG DEBIAN_DEPENDENCIES="curl,git,ca-certificates,gosu,openssh-client,sshpass"
ARG PUID='1000'
Expand Down

0 comments on commit 30460de

Please sign in to comment.