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