92 lines
3.3 KiB
YAML
92 lines
3.3 KiB
YAML
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/develop/**'
|
|
- 'charts/deprecated/**'
|
|
- 'charts/non-free/**'
|
|
- '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/deprecated/${chart}/Chart.yaml"; then
|
|
train="deprecated"
|
|
elif test -f "./charts/non-free/${chart}/Chart.yaml"; then
|
|
train="non-free"
|
|
elif test -f "./charts/library/${chart}/Chart.yaml"; then
|
|
train="library"
|
|
else
|
|
train="develop"
|
|
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
|