helm-charts/.github/actions/collect-changes/action.yaml
Bᴇʀɴᴅ Sᴄʜᴏʀɢᴇʀs 0b58695040
ci: 🧠
2022-07-27 08:07:00 +02:00

57 lines
1.8 KiB
YAML

name: "Collect changes"
description: "Collects and stores changed files/charts"
outputs:
changesDetected:
description: "Whether or not changes to charts have been detected"
value: ${{ steps.filter.outputs.addedOrModified }}
addedOrModifiedFiles:
description: "A list of the files changed"
value: ${{ steps.filter.outputs.addedOrModified_files }}
addedOrModifiedCharts:
description: "A list of the charts changed"
value: ${{ steps.filter-charts.outputs.addedOrModifiedCharts }}
runs:
using: "composite"
steps:
- name: Collect changed files
uses: dorny/paths-filter@v2
id: filter
with:
list-files: shell
filters: |
addedOrModified:
- added|modified: 'charts/*/**'
# - name: Collect changed charts
# if: |
# steps.filter.outputs.addedOrModified == 'true'
# id: filter-charts
# shell: bash
# run: |
# CHARTS=()
# PATHS=(${{ steps.filter.outputs.addedOrModified_files }})
# # Get only the chart paths
# for CHARTPATH in "${PATHS[@]}"
# 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` )
# # Set output to changed charts
# printf "::set-output name=addedOrModifiedCharts::%s\n" "${CHARTS[*]}"
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.2.1
- name: Collect changed charts
id: changed-charts
shell: bash
run: |
CHARTS=$(ct list-changed --config .ci/ct/ct-lint.yaml)
echo "Charts: ${CHARTS}"
# Set output to changed charts
printf "::set-output name=addedOrModifiedCharts::%s\n" "${CHARTS[*]}"