Skip to content

Update docker-compose.yaml tags #7

Update docker-compose.yaml tags

Update docker-compose.yaml tags #7

name: Update docker-compose.yaml tags
on:
schedule:
- cron: '0 15 * * 1'
workflow_dispatch:
inputs: {}
permissions:
issues: write
pull-requests: write
contents: write
env:
PR_BRANCH: automated/docker-compose-image-tags-upgrade
PR_LABEL: dependencies
PR_TITLE: "feat: upgrade `docker-compose.yml` stable image tags"
jobs:
update-docker-compose-tag:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: main
- name: create-PR
shell: bash
run: |
set -eou pipefail
latest_tag="$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name')"
sed -i -E 's|(image: ghcr\.io/peerdb\-io/.*?:stable-)(.*$)|\1'"${latest_tag}"'|g' docker-compose.yml
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git checkout -b "${PR_BRANCH}"
git fetch || true
git add -u
git commit -m 'chore(automated): upgrade docker-compose.yml stable tags'
git push -u origin "${PR_BRANCH}" --force-with-lease
PR_ID=$(gh pr list --label "${PR_LABEL}" --head "${PR_BRANCH}" --json number | jq -r '.[0].number // ""')
if [ "$PR_ID" == "" ]; then
PR_ID=$(gh pr create -l "$PR_LABEL" -t "$PR_TITLE" --body "")
fi
gh pr merge --auto --squash
env:
GH_TOKEN: ${{ github.token }}