From 730ffa8de5f4f7c7c95d8a674744a0e09fe072ba Mon Sep 17 00:00:00 2001 From: Antoine Cotten Date: Mon, 9 Nov 2020 14:29:25 +0100 Subject: [PATCH] Send automated PR upon new stack release --- .github/workflows/update.yml | 45 ++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/update.yml diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 0000000000..d9b24804e7 --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,45 @@ +name: Update Elastic release + +on: + schedule: + - cron: '0 0 * * 0' # At 00:00 every Sunday + +jobs: + + check-and-update: + name: Check and update Elastic release + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Get latest release version + uses: octokit/request-action@v2.x + id: get_latest_release + with: + route: GET /repos/:repository/releases/latest + repository: elastic/elasticsearch + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Update stack version + run: | + source .env + cur_ver="$ELK_VERSION" + new_ver=${{ fromJson(steps.get_latest_release.outputs.data).tag_name }} + + # Escape dot characters so sed interprets them as literal dots + cur_ver="$(echo $cur_ver | sed 's/\./\\./g')" + # Trim leading 'v' in semantic version + new_ver="${new_ver:1}" + + for f in .env docker-stack.yml README.md; do + sed -i "s/${cur_ver}/${new_ver}/g" "$f" + done + + - name: Send pull request to update to new version + uses: peter-evans/create-pull-request@v3 + with: + commit-message: Update to ${{ fromJson(steps.get_latest_release.outputs.data).tag_name }} + title: Update to ${{ fromJson(steps.get_latest_release.outputs.data).tag_name }} + delete-branch: true