From 072a634d5a2c6f18da6214e70fab0430bc76fec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20N=C3=A4gele?= Date: Thu, 29 Oct 2020 22:10:35 +0100 Subject: [PATCH] Add config option (#50) --- README.md | 1 + cr.sh | 33 ++++++++++++++++++++++++++++++--- main.sh | 4 ++++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ecc1a97..10a2706 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ A GitHub action to turn a GitHub project into a self-hosted Helm chart repo, usi For more information on inputs, see the [API Documentation](https://developer.github.com/v3/repos/releases/#input) - `version`: The chart-releaser version to use (default: v1.0.0) +- `config`: Optional config file for chart-releaser - `charts_dir`: The charts directory - `charts_repo_url`: The GitHub Pages URL to the charts repo (default: `https://.github.io/`) diff --git a/cr.sh b/cr.sh index 3d784f1..23efb3b 100755 --- a/cr.sh +++ b/cr.sh @@ -26,6 +26,7 @@ Usage: $(basename "$0") -h, --help Display help -v, --version The chart-releaser version to use (default: $DEFAULT_CHART_RELEASER_VERSION)" + --config The path to the chart-releaser config file -d, --charts-dir The charts directory (default: charts) -u, --charts-repo-url The GitHub Pages URL to the charts repo (default: https://.github.io/) -o, --owner The repo owner @@ -35,6 +36,7 @@ EOF main() { local version="$DEFAULT_CHART_RELEASER_VERSION" + local config= local charts_dir=charts local owner= local repo= @@ -89,6 +91,16 @@ parse_command_line() { show_help exit ;; + --config) + if [[ -n "${2:-}" ]]; then + config="$2" + shift + else + echo "ERROR: '--config' cannot be empty." >&2 + show_help + exit 1 + fi + ;; -v|--version) if [[ -n "${2:-}" ]]; then version="$2" @@ -207,18 +219,33 @@ lookup_changed_charts() { package_chart() { local chart="$1" + local args=(--package-path .cr-release-packages) + if [[ -n "$config" ]]; then + args+=(--config "$config") + fi + echo "Packaging chart '$chart'..." - cr package --package-path .cr-release-packages + cr package "${args[@]}" } release_charts() { + local args=(-o "$owner" -r "$repo" -c "$(git rev-parse HEAD)") + if [[ -n "$config" ]]; then + args+=(--config "$config") + fi + echo 'Releasing charts...' - cr upload -o "$owner" -r "$repo" -c "$(git rev-parse HEAD)" + cr upload "${args[@]}" } update_index() { + local args=(-o "$owner" -r "$repo" -c "$charts_repo_url" --push) + if [[ -n "$config" ]]; then + args+=(--config "$config") + fi + echo 'Updating charts repo index...' - cr index -o "$owner" -r "$repo" -c "$charts_repo_url" --push + cr index "${args[@]}" } main "$@" diff --git a/main.sh b/main.sh index 6032f01..5ce9c2c 100755 --- a/main.sh +++ b/main.sh @@ -31,6 +31,10 @@ main() { args+=(--version "${INPUT_VERSION}") fi + if [[ -n "${INPUT_CONFIG:-}" ]]; then + args+=(--config "${INPUT_CONFIG}") + fi + if [[ -n "${INPUT_CHARTS_REPO_URL:-}" ]]; then args+=(--charts-repo-url "${INPUT_CHARTS_REPO_URL}") fi