update chart release action to use CR release v1.4.0 (#106)
* update chart release action to use CR release v1.4.0 Signed-off-by: cpanato <ctadeu@gmail.com> * update based on review Signed-off-by: cpanato <ctadeu@gmail.com>
This commit is contained in:
@@ -3,7 +3,7 @@ name: test-chart-releaser
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
test_chart_releaser_action:
|
||||
test_chart_releaser_install_action:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: none
|
||||
@@ -21,13 +21,42 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install chart-releaser
|
||||
uses: ./
|
||||
with:
|
||||
install_only: true
|
||||
env:
|
||||
CR_TOKEN: "FAKE_SECRETS"
|
||||
- name: Check install!
|
||||
run: cr version
|
||||
- name: Check root directory
|
||||
run: |
|
||||
if [[ $(git diff --stat) != '' ]]; then
|
||||
if ! git diff --stat --exit-code; then
|
||||
echo 'should be clean'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test_chart_releaser_action:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: none
|
||||
checks: none
|
||||
contents: none
|
||||
deployments: none
|
||||
issues: none
|
||||
packages: none
|
||||
pull-requests: none
|
||||
repository-projects: none
|
||||
security-events: none
|
||||
statuses: none
|
||||
name: Install chart-releaser and run it
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install chart-releaser
|
||||
uses: ./
|
||||
env:
|
||||
CR_TOKEN: "FAKE_SECRETS"
|
||||
- name: Check root directory
|
||||
run: |
|
||||
if ! git diff --stat --exit-code; then
|
||||
echo 'should be clean'
|
||||
exit 1
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -15,7 +15,7 @@ maintain your charts in a different directory, you must include a `charts_dir` i
|
||||
|
||||
### Inputs
|
||||
|
||||
- `version`: The chart-releaser version to use (default: v1.3.0)
|
||||
- `version`: The chart-releaser version to use (default: v1.4.0)
|
||||
- `config`: Optional config file for chart-releaser. For more information on the config file, see the [documentation](https://github.com/helm/chart-releaser#config-file)
|
||||
- `charts_dir`: The charts directory
|
||||
- `charts_repo_url`: The GitHub Pages URL to the charts repo (default: `https://<owner>.github.io/<project>`)
|
||||
@@ -55,10 +55,10 @@ jobs:
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v1
|
||||
with:
|
||||
version: v3.7.1
|
||||
version: v3.8.1
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.3.0
|
||||
uses: helm/chart-releaser-action@v1.4.0
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
```
|
||||
@@ -71,7 +71,7 @@ It does this – during every push to `main` – by checking each chart in your
|
||||
`workflow.yml`:
|
||||
```yaml
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.2.0
|
||||
uses: helm/chart-releaser-action@v1.4.0
|
||||
with:
|
||||
charts_dir: charts
|
||||
config: cr.yaml
|
||||
@@ -81,6 +81,7 @@ It does this – during every push to `main` – by checking each chart in your
|
||||
```
|
||||
|
||||
`cr.yaml`:
|
||||
|
||||
```yaml
|
||||
owner: myaccount
|
||||
git-base-url: https://api.github.com/
|
||||
|
||||
+26
-1
@@ -6,14 +6,26 @@ branding:
|
||||
icon: anchor
|
||||
inputs:
|
||||
version:
|
||||
description: "The chart-releaser version to use (default: v1.3.0)"
|
||||
description: "The chart-releaser version to use (default: v1.4.0)"
|
||||
required: false
|
||||
default: v1.4.0
|
||||
config:
|
||||
description: "The relative path to the chart-releaser config file"
|
||||
required: false
|
||||
charts_dir:
|
||||
description: The charts directory
|
||||
required: false
|
||||
default: charts
|
||||
charts_repo_url:
|
||||
description: "The GitHub Pages URL to the charts repo (default: https://<owner>.github.io/<repo>)"
|
||||
required: false
|
||||
install_dir:
|
||||
description: 'Where to install the cr tool'
|
||||
required: false
|
||||
install_only:
|
||||
description: 'Just install cr tool'
|
||||
required: false
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
@@ -36,5 +48,18 @@ runs:
|
||||
args+=(--charts-repo-url "${{ inputs.charts_repo_url }}")
|
||||
fi
|
||||
|
||||
if [[ -z "${{ inputs.install_dir }}" ]]; then
|
||||
install="$RUNNER_TOOL_CACHE/cr/${{ inputs.version }}/$(uname -m)"
|
||||
echo "$install" >> "$GITHUB_PATH"
|
||||
args+=(--install-dir "$install")
|
||||
else
|
||||
echo ${{ inputs.install_dir }} >> "$GITHUB_PATH"
|
||||
args+=(--install-dir "${{ inputs.install_dir }}")
|
||||
fi
|
||||
|
||||
if [[ -n "${{ inputs.install_only }}" ]]; then
|
||||
args+=(--install-only "${{ inputs.install_only }}")
|
||||
fi
|
||||
|
||||
"$GITHUB_ACTION_PATH/cr.sh" "${args[@]}"
|
||||
shell: bash
|
||||
|
||||
@@ -18,7 +18,7 @@ set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
DEFAULT_CHART_RELEASER_VERSION=v1.3.0
|
||||
DEFAULT_CHART_RELEASER_VERSION=v1.4.0
|
||||
|
||||
show_help() {
|
||||
cat << EOF
|
||||
@@ -31,6 +31,8 @@ Usage: $(basename "$0") <options>
|
||||
-u, --charts-repo-url The GitHub Pages URL to the charts repo (default: https://<owner>.github.io/<repo>)
|
||||
-o, --owner The repo owner
|
||||
-r, --repo The repo name
|
||||
-n, --install-dir The Path to install the cr tool
|
||||
-i, --install-only Just install the cr tool
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -41,6 +43,8 @@ main() {
|
||||
local owner=
|
||||
local repo=
|
||||
local charts_repo_url=
|
||||
local install_dir=
|
||||
local install_only=
|
||||
|
||||
parse_command_line "$@"
|
||||
|
||||
@@ -151,6 +155,18 @@ parse_command_line() {
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
-n|--install-dir)
|
||||
if [[ -n "${2:-}" ]]; then
|
||||
install_dir="$2"
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
-i|--install-only)
|
||||
if [[ -n "${2:-}" ]]; then
|
||||
install_only="$2"
|
||||
shift
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
@@ -174,6 +190,18 @@ parse_command_line() {
|
||||
if [[ -z "$charts_repo_url" ]]; then
|
||||
charts_repo_url="https://$owner.github.io/$repo"
|
||||
fi
|
||||
|
||||
if [[ -z "$install_dir" ]]; then
|
||||
local arch
|
||||
arch=$(uname -m)
|
||||
install_dir="$RUNNER_TOOL_CACHE/cr/$version/$arch"
|
||||
fi
|
||||
|
||||
if [[ -n "$install_only" ]]; then
|
||||
echo "Will install cr tool and not run it..."
|
||||
install_chart_releaser
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
|
||||
install_chart_releaser() {
|
||||
@@ -182,21 +210,17 @@ install_chart_releaser() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
local arch
|
||||
arch=$(uname -m)
|
||||
if [[ ! -d "$install_dir" ]]; then
|
||||
mkdir -p "$install_dir"
|
||||
|
||||
local cache_dir="$RUNNER_TOOL_CACHE/ct/$version/$arch"
|
||||
if [[ ! -d "$cache_dir" ]]; then
|
||||
mkdir -p "$cache_dir"
|
||||
|
||||
echo "Installing chart-releaser..."
|
||||
echo "Installing chart-releaser on $install_dir..."
|
||||
curl -sSLo cr.tar.gz "https://github.com/helm/chart-releaser/releases/download/$version/chart-releaser_${version#v}_linux_amd64.tar.gz"
|
||||
tar -xzf cr.tar.gz -C "$cache_dir"
|
||||
tar -xzf cr.tar.gz -C "$install_dir"
|
||||
rm -f cr.tar.gz
|
||||
fi
|
||||
|
||||
echo 'Adding cr directory to PATH...'
|
||||
export PATH="$cache_dir:$PATH"
|
||||
export PATH="$install_dir:$PATH"
|
||||
}
|
||||
|
||||
lookup_latest_tag() {
|
||||
|
||||
Reference in New Issue
Block a user