From 43460cb2957f3f5f9a83d4c2dbce50bfd6d48ce9 Mon Sep 17 00:00:00 2001 From: ColorfulRhino <131405023+ColorfulRhino@users.noreply.github.com> Date: Mon, 8 Jul 2024 22:40:37 +0200 Subject: [PATCH] Create wokflow to update ORAS_VERSION via auto-PR --- .github/workflows/update-tools.yml | 71 ++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/update-tools.yml diff --git a/.github/workflows/update-tools.yml b/.github/workflows/update-tools.yml new file mode 100644 index 000000000000..7ed7cd0e2941 --- /dev/null +++ b/.github/workflows/update-tools.yml @@ -0,0 +1,71 @@ +name: Update Tools in Scripts + +permissions: + contents: write + pull-requests: write + +on: + workflow_dispatch: + + push: + branches: + - 'test-workflow-update-oras' + + schedule: + - cron: '0 3 16 * *' # Run monthly at 03:00 AM, on the 16th day of the month + +jobs: + update-version-oras: + name: Update ORAS version + runs-on: ubuntu-latest + + env: + REPO_NAME: oras-project/oras + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Get current ORAS version + id: get-version-current + run: | + version_current=$(grep -Po '(?<=ORAS_VERSION=\${ORAS_VERSION:-)[0-9.]+(?=})' lib/functions/general/oci-oras.sh) + echo "version_current=$version_current" >> $GITHUB_OUTPUT + + - name: Get latest ORAS version + id: get-version-latest + # Multi-line string for changelog, see https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings + run: | + version_latest=$(curl --silent "https://api.github.com/oras-project/oras/releases/latest" | jq -r .tag_name) + version_latest=${version_latest#v} # Removing the 'v' prefix since the script uses only plain numbers + echo "version_latest=$version_latest" >> $GITHUB_OUTPUT + { + echo "CHANGE_LOG<> "$GITHUB_ENV" + + - name: Update ORAS_VERSION in script + run: | + version_latest=${{ steps.get-version-latest.outputs.version_latest }} + sed -i "s/ORAS_VERSION=\${ORAS_VERSION:-[0-9.]*}/ORAS_VERSION=\${ORAS_VERSION:-$version_latest}/g" lib/functions/general/oci-oras.sh + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: "Update `ORAS_VERSION` to ${{ steps.get-version-latest.outputs.version_latest }}" + branch: update-version-oras${{ steps.get-version-latest.outputs.version_latest }} + title: "Bump `ORAS_VERSION` from ${{ steps.get-version-current.outputs.version_current }} to ${{ steps.get-version-latest.outputs.version_latest }}" + body: | + Bumps `ORAS_VERSION` from ${{ steps.get-version-current.outputs.version_current }} to ${{ steps.get-version-latest.outputs.version_latest }}. + +
Release notes + Sourced from [oras-project/oras's releases](https://github.com/oras-project/oras/releases). +
+ + ${{ env.CHANGE_LOG }} + +
+
+ labels: update, automated pr