Skip to content

Check prometheus-exporter-plugin-for-opensearch #381

Check prometheus-exporter-plugin-for-opensearch

Check prometheus-exporter-plugin-for-opensearch #381

Workflow file for this run

name: Check prometheus-exporter-plugin-for-opensearch
on:
schedule:
- cron: "0 7 * * *"
workflow_dispatch:
jobs:
check-for-updates:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- branch: 'main'
majorversion: '2.'
- branch: '1.x'
majorversion: '1.'
steps:
- name: Checkout branch
uses: actions/checkout@v4
with:
ref: ${{matrix.branch}}
- name: Check for updates
id: update
run: |
# ######################################################################
# This updater checks the exporter plugin version first since this build
# depends on the plugin. The plugin and the application follows the same
# versioning.
# ######################################################################
#
# Lock to a major version
#
majorversion=${{matrix.majorversion}}
#
# Fetch the latest tag - filtered on majorversion
#
releases="https://api.github.com/repos/aiven/prometheus-exporter-plugin-for-opensearch/releases"
latest=$(curl --location --silent ${releases} | \
jq -r 'map(select(.tag_name|startswith("'${majorversion}'")))[0]')
#
# Extract the plugin version / tag_name
#
pluginversion=$(echo $latest | jq -r '.tag_name')
# The Application follows semver, so only keep x.y.z
version=$(echo ${pluginversion} | cut -d. -f 1-3)
#
# Extract the download URL to use in the Dockerfile
#
browser_download_url=$(echo $latest | jq -r '.assets[0].browser_download_url')
echo version=${version} >> $GITHUB_OUTPUT
echo pluginversion=${pluginversion} >> $GITHUB_OUTPUT
echo branch=${{matrix.branch}} >> $GITHUB_OUTPUT
if [[ "${version}XX" = ${majorversion}*XX ]];then
#
# Patch the Dockerfile
# Bump opensearch and the plugin to the same version
#
sed -i -r \
-e "s|^(\s*FROM [^/]+/opensearch)\s*:.*|\1:${version}|" \
-e "s|^(ARG EXPORTER_PLUGIN_URL)\s*=.*|\1=\"${browser_download_url}\"|" \
Dockerfile
fi
- name: Create PR
uses: peter-evans/create-pull-request@v5
with:
base: ${{ steps.update.outputs.branch }}
branch: "opensearch-exporter/bump-${{ steps.update.outputs.version }}"
title: "Bump to opensearch-${{ steps.update.outputs.version }} with prometheus-exporter-plugin-for-opensearch-${{ steps.update.outputs.pluginversion }}"
commit-message: "Bump to opensearch-${{ steps.update.outputs.version }} with prometheus-exporter-plugin-for-opensearch-${{ steps.update.outputs.pluginversion }}"
labels: |
dependencies
reviewers: DShivakoti
#team-reviewers: |
# devtools
draft: False