TrueChartsClone/.github/workflows/renovate-bump.yaml

85 lines
3.0 KiB
YAML
Raw Normal View History

name: "Renovate: Bump on Push"
on:
push:
branches:
- 'renovate/**'
tags-ignore:
- '**'
jobs:
renovate-bump:
name: Get changed Apps
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
name: Checkout
with:
fetch-depth: 0
token: ${{ secrets.BOT_TOKEN }}
- uses: actions/checkout@v2
name: Checkout
with:
fetch-depth: 0
ref: master
path: master
- name: Set up Python
uses: actions/setup-python@v2
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pybump
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- uses: dorny/paths-filter@v2
id: filter
with:
list-files: json
filters: |
changed:
- 'charts/stable/**'
- 'charts/incubator/**'
- 'charts/library/**'
- name: Filter filter-output
run: echo '${{ toJson(steps.filter.outputs) }}' > changes.json
- name: Bump
run: |
APPS=$(jq --raw-output '.changed_files | fromjson | .[] |= sub("(?<filepath>(?<first_directory>(?<root1>[\/]?)[^\/]+\/)(?<second_directory>(?<root2>[\/]?)[^\/]+\/)(?<third_directory>(?<root3>[\/]?)[^\/]+)(?<extra_paths>.+))"; "\(.third_directory)") | unique' changes.json | jq -r '.[]')
echo "changed apps: ${APPS[*]}"
for chart in ${APPS[*]}
do
if [[ "${chart}" == '.gitkee' ]]; then
echo "Skipping..."
return
elif test -f "./charts/stable/${chart}/Chart.yaml"; then
train="stable"
elif test -f "./charts/incubator/${chart}/Chart.yaml"; then
train="incubator"
elif test -f "./charts/library/${chart}/Chart.yaml"; then
train="library"
else
train="incubator"
fi
echo "Comparing versions for ${train}/${chart}"
master=$(pybump get --file ./master/charts/${train}/${chart}/Chart.yaml)
current=$(pybump get --file ./charts/${train}/${chart}/Chart.yaml)
echo "master version: ${master}"
echo "current version: ${current}"
if [[ "${master}" != "${current}" ]]; then
echo "Version does not have to be bumped"
else
echo "Bumping patch version for ${train}/${chart}"
pybump bump --file ./charts/${train}/${chart}/Chart.yaml --level patch
fi
done
- name: Cleanup
run: |
rm -rf changes.json
rm -rf master
- name: Commit and Push new version
run: |
git config user.name "TrueCharts-Bot"
git config user.email "bot@truecharts.org"
git add --all
git commit -sm "Commit bumped App Version" || exit 0
git push