Skip to content

Commit

Permalink
Merge pull request #4 from PrefectHQ/add-helm-docs
Browse files Browse the repository at this point in the history
Add helm docs
  • Loading branch information
jamiezieziula authored Oct 8, 2024
2 parents 4680f97 + 3b41f51 commit 2e98ce8
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 55 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/static-analysis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Static analysis

"on":
pull_request: {}

permissions: {}

jobs:
pre_commit_checks:
name: pre-commit checks
runs-on: ubuntu-latest
permissions:
# required to read from the repo
contents: read
steps:
- name: checkout
uses: actions/checkout@v4

- name: Install tool dependencies
uses: jdx/mise-action@v2

- name: Run pre-commit
run: |
pre-commit run --show-diff-on-failure --color=always --all-files
4 changes: 4 additions & 0 deletions .github/workflows/updatecli/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
sources: {}
conditions: {}
targets: {}
26 changes: 26 additions & 0 deletions .github/workflows/validate-changes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Validate Changes to Workflow

"on":
pull_request: {}

permissions: {}

jobs:
validate_changes:
name: validate action changes
runs-on: ubuntu-latest
permissions:
# required to read from the repo
contents: read
# required to read from the PR
pull-requests: read
steps:
- name: checkout
uses: actions/checkout@v4

- name: updatecli-minor-apply
uses: prefecthq/actions-updatecli-apply@${{ github.head_ref }}
with:
manifest-path: .github/updatecli/manifest.yaml
run-type: minor
18 changes: 0 additions & 18 deletions .github/workflows/yaml-lint.yaml

This file was deleted.

8 changes: 0 additions & 8 deletions .github/yaml-lint/.config.yaml

This file was deleted.

4 changes: 4 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[tools]
pre-commit = '3.8.0'
shellcheck = '0.10.0'
yamllint = '1.35.1'
24 changes: 24 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
fail_fast: false

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
- id: check-merge-conflict
- id: detect-private-key
- id: no-commit-to-branch
- id: trailing-whitespace

- repo: https://github.com/adrienverge/yamllint.git
rev: v1.28.0
hooks:
- id: yamllint
args:
- --strict

- repo: https://github.com/koalaman/shellcheck-precommit
rev: v0.7.2
hooks:
- id: shellcheck
args: ["--severity=error"]
8 changes: 8 additions & 0 deletions .yamllint
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
extends: default

rules:
comments:
min-spaces-from-content: 1
comments-indentation: disable
line-length: disable
10 changes: 1 addition & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,16 @@ Action that runs updatecli, commits those changes if they exist, and opens a PR
| Input | Description | Required |
|-------|------------|----------|
| manifest-path | Path to the updatecli manifest file. | true |
| run-helm-docs | Run helm-docs | false |
| run-type | The type of updatecli run to perform. (major or minor) | true |

## Usage
```yaml
name: updatecli-minor
"on":
schedule:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
- cron: 0 15 * * 1 # Monday @ 3pm UTC
workflow_dispatch:
# Do not grant jobs any permissions by default
permissions: {}
jobs:
updatecli:
Expand Down
63 changes: 43 additions & 20 deletions action.yaml
Original file line number Diff line number Diff line change
@@ -1,60 +1,83 @@
---
name: Run updatecli and push to git
name: Run updatecli and open a PR with changes
author: PrefectHQ
description: This action will run updatecli and push the changes to git and will also open a PR
inputs:
manifest-path:
description: "Path to the updatecli manifest file"
description: Path to the updatecli manifest file
default: ".github/updatecli/manifest-minor.yaml"
required: true
run-helm-docs:
description: Run helm-docs
default: "false"
required: true
run-type:
description: "The type of updatecli run to perform (major or minor)"
description: The type of updatecli run to perform (major or minor)
default: "minor"
required: true
runs:
using: composite
steps:
- id: configure_git
- name: Configure git
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
shell: bash

- name: Get current date
id: date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT
run: |
echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
shell: bash

- name: Determine branch name
run: |
echo "BRANCH_NAME=dependency-version-${{ inputs.run-type }}-$DATE" >> $GITHUB_ENV
shell: bash

- name: create branch for dependency version updates
run: git checkout -b "dependency-version-${{ inputs.run-type }}-${{ steps.date.outputs.date }}"
- name: Create branch for dependency version updates
run: |
git checkout -b $BRANCH_NAME
shell: bash

- name: install updatecli in the runner
- name: Install updatecli in the runner
uses: updatecli/updatecli-action@v2

- name: run updatecli in apply mode
id: updatecli_apply
- name: Run updatecli in apply mode
run: |
updatecli apply --config ${{ inputs.manifest-path }} --experimental
if [[ $(git diff --name-only | wc -l) -eq 0 ]]; then
echo "No changes detected, exiting"
echo "changes=false" >> $GITHUB_OUTPUT
echo "CHANGES=false" >> $GITHUB_ENV
exit 0
else
echo "changes=true" >> $GITHUB_OUTPUT
echo "CHANGES=true" >> $GITHUB_ENV
fi
git add .
git commit -m "dependency-version-${{ inputs.run-type }}-${{ steps.date.outputs.date }}"
git push --set-upstream origin "dependency-version-${{ inputs.run-type }}-${{ steps.date.outputs.date }}"
git commit -m $BRANCH_NAME
git push --set-upstream origin $BRANCH_NAME
env:
GITHUB_TOKEN: ${{ github.token }}
shell: bash

- name: create pr
if: steps.updatecli_apply.outputs.changes == 'true'
- name: Install `helm-docs`
if: inputs.run-helm-docs == 'true' && env.CHANGES == 'true'
uses: jdx/mise-action@v2
with:
install_args: helm-docs

- name: Run `helm-docs`
if: inputs.run-helm-docs == 'true' && env.CHANGES == 'true'
run: |
git checkout "dependency-version-${{ inputs.run-type }}-${{ steps.date.outputs.date }}"
gh pr create --base main --title "dependency-version-${{ inputs.run-type }}-bump-${{ steps.date.outputs.date }}" -f --label soc2
helm-docs --template-files=README.md.gotmpl
git commit -am "helm-docs"
git push
shell: bash

- name: Create PR
if: env.CHANGES == 'true'
run: |
git checkout $BRANCH_NAME
gh pr create --base main --title $BRANCH_NAME -f --label soc2
env:
GITHUB_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ github.token }}
shell: bash

0 comments on commit 2e98ce8

Please sign in to comment.