diff --git a/.github/workflows/renovate-bump.yaml b/.github/workflows/renovate-bump.yaml deleted file mode 100644 index d230f0fec0e..00000000000 --- a/.github/workflows/renovate-bump.yaml +++ /dev/null @@ -1,150 +0,0 @@ -name: "Renovate: Bump on Push" - -on: - push: - branches: - - "renovate/**" - tags-ignore: - - "**" - -jobs: - renovate-bump: - name: Get changed Apps - runs-on: ubuntu-22.04 - container: - image: ghcr.io/truecharts/devcontainer:3.1.10@sha256:c239addf725eb5cedf79517f8089fdafdc32b5270d1893ee87ae6e511b9bcae3 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Checkout - with: - fetch-depth: 0 - token: ${{ secrets.BOT_TOKEN }} - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - name: Checkout - with: - fetch-depth: 0 - ref: master - path: master - - - name: Setting repo parent dir as safe safe.directory - run: git config --global --add safe.directory "$GITHUB_WORKSPACE" - - - uses: dorny/paths-filter@v2 - id: filter - with: - list-files: json - filters: | - changed: - - 'charts/stable/**' - - 'charts/incubator/**' - - 'charts/SCALE/**' - - 'charts/library/**' - - 'charts/dependency/**' - - 'charts/core/**' - - 'charts/enterprise/**' - - 'charts/games/**' - - 'charts/operators/**' - - name: Filter filter-output - run: echo '${{ toJson(steps.filter.outputs) }}' > changes.json - - - name: Bump and Sync - shell: bash - run: | - # Designed to ensure the appversion in Chart.yaml is in sync with the primary Chart tag if found - # Also makes sure that home link is pointing to the correct url - sync_tag() { - local chart="$1" - local chartname="$2" - local train="$3" - echo "Attempting to sync primary tag with appversion for: ${chartname}" - local tag="$(cat ${chart}/values.yaml | grep '^ tag: ' | awk -F" " '{ print $2 }' | head -1)" - tag="${tag%%@*}" - tag="${tag:-auto}" - tag=$(echo $tag | sed "s/release-//g") - tag=$(echo $tag | sed "s/release_//g") - tag=$(echo $tag | sed "s/version-//g") - tag=$(echo $tag | sed "s/version_//g") - tag="${tag#*V.}" - tag="${tag#*v-}" - tag="${tag#*v}" - tag="${tag%-*}" - tag="${tag:0:10}" - tag="${tag%-}" - tag="${tag%_}" - tag="${tag%.}" - echo "Updating tag of ${chartname} to ${tag}..." - sed -i -e "s|appVersion: .*|appVersion: \"${tag}\"|" "${chart}/Chart.yaml" - echo "Updating icon of ${chartname}..." - sed -i -e "s|icon: .*|icon: https:\/\/truecharts.org\/img\/hotlink-ok\/chart-icons\/${chartname}.png|" "${chart}/Chart.yaml" - echo "Updating home of ${chartname}..." - sed -i -e "s|home: .*|home: https:\/\/truecharts.org\/charts\/${train}\/${chartname}|" "${chart}/Chart.yaml" - echo "Attempting to update sources of ${chartname}..." - echo "Using go-yq verion: <$(go-yq -V)>" - # Get all sources (except truecharts) - curr_sources=$(go-yq '.sources[] | select(. != "https://github.com/truecharts*")' "${chart}/Chart.yaml") - # Empty sources list in-place - go-yq -i 'del(.sources.[])' "${chart}/Chart.yaml" - # Add truechart source - tcsource="https://github.com/truecharts/charts/tree/master/charts/$train/$chartname" go-yq -i '.sources += env(tcsource)' "${chart}/Chart.yaml" - # Add the rest of the sources - while IFS= read -r line; do - src="$line" go-yq -i '.sources += env(src)' "${chart}/Chart.yaml" || echo "src set error" - done <<< "$curr_sources" - echo "Sources of ${chartname} updated!" - } - export -f sync_tag - - # The actual script - 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}" == '.gitkeep' ]]; 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/SCALE/${chart}/Chart.yaml"; then - train="SCALE" - elif test -f "./charts/library/${chart}/Chart.yaml"; then - train="library" - elif test -f "./charts/dependency/${chart}/Chart.yaml"; then - train="dependency" - elif test -f "./charts/core/${chart}/Chart.yaml"; then - train="core" - elif test -f "./charts/games/${chart}/Chart.yaml"; then - train="games" - elif test -f "./charts/enterprise/${chart}/Chart.yaml"; then - train="enterprise" - elif test -f "./charts/operators/${chart}/Chart.yaml"; then - train="operators" - else - train="incubator" - fi - echo "Comparing versions for ${train}/${chart}" - master=$(cat ./master/charts/${train}/${chart}/Chart.yaml | grep "^version") - current=$(cat ./charts/${train}/${chart}/Chart.yaml | grep "^version") - 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}" - ./tools/bump.sh patch ./charts/${train}/${chart} - fi - - sync_tag "charts/${train}/${chart}" "${chart}" "${train}" - 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 Chart Version" || exit 0 - git push