diff --git a/README.md b/README.md index 7a46c79..a79ba58 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Chart releaser action +# *chart-releaser* Action A GitHub action to turn a GitHub project into a self-hosted Helm chart repo, using [helm/chart-releaser](https://github.com/helm/chart-releaser) CLI tool. @@ -12,17 +12,18 @@ A GitHub action to turn a GitHub project into a self-hosted Helm chart repo, usi * The token's user must have write access to the project * To mitigate risk you may wish to limit the token to a single project by creating a [machine user](https://developer.github.com/v3/guides/managing-deploy-keys/#machine-users) * Please note the personal access token is required because of an [Actions bug](https://github.community/t5/GitHub-Actions/Github-action-not-triggering-gh-pages-upon-push/m-p/31266/highlight/true#M743), and will hopefully be unnecessary in the future -1. Create a workflow `.yml` file in your `.github/workflows` directory. An [example workflow](#example-workflow) is available below. For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file) +1. Create a workflow `.yml` file in your `.github/workflows` directory. An [example workflow](#example-workflow) is available below. + For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file) ### Inputs 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: v0.2.3) - `charts-dir`: The charts directory - `charts-repo-url`: The GitHub Pages URL to the charts repo (default: `https://.github.io/`) -- `token`: The GitHub token -### Example workflow +### Example Workflow Create a workflow (eg: `.github/workflows/release.yml`): @@ -43,8 +44,8 @@ jobs: - name: Configure Git run: | - git config user.name "GitHub Actions" - git config user.email noreply@github.com + git config user.name "$GITHUB_ACTOR" + git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - name: Run chart-releaser uses: helm/chart-releaser-action@v1.0.0-alpha.1 @@ -52,7 +53,8 @@ jobs: CR_TOKEN: "${{ secrets.CR_TOKEN }}" ``` -This uses [@helm/chart-releaser-action](https://www.github.com/helm/chart-releaser-action) to turn your GitHub project into a self-hosted Helm chart repo. It does this – during every push to `master` – by checking each chart in your project, and whenever there's a new chart version, creates a corresponding [GitHub release](https://help.github.com/en/github/administering-a-repository/about-releases) named for the chart version, adds Helm chart artifacts to the release, and creates or updates an `index.yaml` file with metadata about those releases, which is then hosted on GitHub Pages +This uses [@helm/chart-releaser-action](https://www.github.com/helm/chart-releaser-action) to turn your GitHub project into a self-hosted Helm chart repo. +It does this – during every push to `master` – by checking each chart in your project, and whenever there's a new chart version, creates a corresponding [GitHub release](https://help.github.com/en/github/administering-a-repository/about-releases) named for the chart version, adds Helm chart artifacts to the release, and creates or updates an `index.yaml` file with metadata about those releases, which is then hosted on GitHub Pages ## Code of conduct diff --git a/action.yml b/action.yml index 16db61a..a80a173 100644 --- a/action.yml +++ b/action.yml @@ -2,9 +2,11 @@ name: "Helm Chart Releaser" description: "Host a Helm charts repo on GitHub Pages" author: "The Helm authors" branding: - color: anchor - icon: check-circle + color: blue + icon: anchor inputs: + version: + description: "The chart-releaser version to use (default: v0.2.3)" charts_dir: description: The charts directory default: charts diff --git a/cr.sh b/cr.sh index a5d0190..0bde76f 100755 --- a/cr.sh +++ b/cr.sh @@ -27,7 +27,7 @@ cat << EOF Usage: $(basename "$0") -h, --help Display help - -v, --version The kind version to use (default: v0.2.3)" + -v, --version The chart-releaser version to use (default: v0.2.3)" -d, --charts-dir The charts directory (defaut: charts) -u, --charts-repo-url The GitHub Pages URL to the charts repo (default: https://.github.io/) -o, --owner The repo owner diff --git a/main.sh b/main.sh index 64e03ef..6032f01 100755 --- a/main.sh +++ b/main.sh @@ -27,6 +27,10 @@ main() { args=(--owner "$owner" --repo "$repo") args+=(--charts-dir "${INPUT_CHARTS_DIR?Input 'charts_dir' is required}") + if [[ -n "${INPUT_VERSION:-}" ]]; then + args+=(--version "${INPUT_VERSION}") + fi + if [[ -n "${INPUT_CHARTS_REPO_URL:-}" ]]; then args+=(--charts-repo-url "${INPUT_CHARTS_REPO_URL}") fi