From 91ab694254fb6518d8f5c050f95d8585c7a428cb Mon Sep 17 00:00:00 2001 From: Kjeld Schouten Date: Thu, 17 Oct 2024 20:55:29 +0200 Subject: [PATCH] Update action.yaml Signed-off-by: Kjeld Schouten --- .github/actions/collect-changes/action.yaml | 78 --------------------- 1 file changed, 78 deletions(-) diff --git a/.github/actions/collect-changes/action.yaml b/.github/actions/collect-changes/action.yaml index ba43adad004..9fabd4a5848 100644 --- a/.github/actions/collect-changes/action.yaml +++ b/.github/actions/collect-changes/action.yaml @@ -11,12 +11,6 @@ outputs: addedOrModifiedCharts: description: "A list of the charts changed" value: ${{ steps.filter-charts.outputs.addedOrModified }} - changesDetectedAfterTag: - description: "Flag if there are any modified and bump Charts after last tag" - value: ${{ steps.filter-bumped-charts.outputs.changesDetectedAfterTag }} - modifiedChartsAfterTag: - description: "A list of the charts changed and bumped after last Tag" - value: ${{ steps.filter-bumped-charts.outputs.modifiedChartsAfterTag }} runs: using: "composite" @@ -51,75 +45,3 @@ runs: echo "Changed charts: ${CHARTS[*]}" printf "::set-output name=addedOrModified::%s\n" "${CHARTS[*]}" - - name: Collect bumped charts after last tag - id: filter-bumped-charts - shell: bash - run: | - lookup_latest_tag() { - git fetch --tags > /dev/null 2>&1 - - if ! git describe --tags --abbrev=0 2> /dev/null; then - git rev-list --max-parents=0 --first-parent HEAD - fi - } - export -f lookup_latest_tag - - filter_charts() { - while read -r chart; do - [[ ! -d "$chart" ]] && continue - if [[ $(git diff $latest_tag $chart/Chart.yaml | grep "+version") ]]; then - echo "$chart" - else - echo "Version not bumped. Skipping." 1>&2 - fi - done - } - export -f filter_charts - - lookup_changed_charts() { - local commit="$1" - - local changed_files - changed_files=$(git diff --find-renames --name-only "$commit" -- 'charts/**' | grep "Chart.yaml") - local depth=$(( $(tr "/" "\n" <<< 'charts/**' | sed '/^\(\.\)*$/d' | wc -l) + 1 )) - local fields="1-${depth}" - - cut -d '/' -f "$fields" <<< "$changed_files" | uniq | filter_charts - } - export -f lookup_changed_charts - - repo_root=$(git rev-parse --show-toplevel) - pushd "$repo_root" > /dev/null - - echo 'Looking up latest tag...' - latest_tag=$(lookup_latest_tag) - - echo "Discovering changed charts since '$latest_tag'..." - changed_charts=() - readarray -t changed_charts <<< "$(lookup_changed_charts "$latest_tag")" - - CHARTS=() - for CHARTPATH in "${changed_charts[@]}" - do - IFS='/' read -r -a path_parts <<< "${CHARTPATH}" - CHARTS+=("${path_parts[1]}/${path_parts[2]}") - done - - # Remove duplicates - CHARTS=( `printf "%s\n" "${CHARTS[@]}" | sort -u` ) - - echo "Number of detected changed charts: ${#CHARTS[@]}" - if [ ${#CHARTS[@]} -eq 0 ] || [ "${CHARTS[0]}" == ' ' ] || [ "${CHARTS[0]}" == '/' ]; then - echo "No Changed Charts detected since latest tag..." - printf "::set-output name=changesDetectedAfterTag::%s\n" "false" - else - echo "Changed Charts detected since latest tag, parsing..." - printf "::set-output name=changesDetectedAfterTag::%s\n" "true" - - # Get only the chart paths - - # Set output to changed charts - echo "Changed charts since latest tag: ${CHARTS[*]}" - printf "::set-output name=modifiedChartsAfterTag::%s\n" "${CHARTS[*]}" - fi - popd > /dev/null