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 - 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("(?(?(?[\/]?)[^\/]+\/)(?(?[\/]?)[^\/]+\/)(?(?[\/]?)[^\/]+)(?.+))"; "\(.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}" ./bump.sh patch ./charts/${train}/${chart}/Chart.yaml 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