Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main branch into release-v1.11 branch #468

Merged
merged 15 commits into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 25 additions & 47 deletions .github/workflows/helm-validations.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,47 @@
# This action checks the Helm Chart changes for linting and version updates
# This action checks the Helm Chart changes for linting
name: helm-validations

# Check runs on PRs created to merge to main branch
on:
pull_request:
branches:
- main
- karavi-observability-release
- csm-authorization-release
- release-v*

jobs:
# This job will check to see if any .yaml file is modified
check_files:
runs-on: ubuntu-latest
outputs:
run_tests: ${{ steps.diff.outputs.run_tests }}
steps:
- uses: actions/checkout@v4
- name: Check for files changed
id: diff
run: |
URL="https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files"
FILES=$(curl -s -X GET -G $URL | jq -r '.[] | .filename')
echo $FILES | grep \.yaml && echo '::set-output name=run_tests::true' || true

# This job will run helm lint and version increment check on updated charts
# This job will run helm lint on updated charts
lint:
name: CSM Chart Linter
runs-on: ubuntu-latest
# Only run job when .yaml file is changed
needs: check_files
if: needs.check_files.outputs.run_tests == 'true'
steps:
# Check out the repo
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: "0"
fetch-depth: "0"

# Lint and version increment checks on updated charts
- name: Run lint/version increment checks
id: versionIncrement
# Bump to proper version after this issue is fixed : https://github.com/helm/chart-testing-action/issues/132
uses: helm/chart-testing-action@cb49023b9227b1097e5eddd8824f48bdea11b1aa
- name: Set up Helm
uses: azure/setup-helm@v4.2.0
with:
command: lint
config: lintConfig.yaml
version: latest

# This job checks that dependency versions have been updated on the karavi-observability chart
dependency:
runs-on: ubuntu-latest
# Only run job when .yaml file is changed
needs: check_files
if: needs.check_files.outputs.run_tests == 'true'
steps:
# Check out the repo
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
fetch-depth: "0"
python-version: '3.12'

# Run a check on karavi-observability chart for updated dependency versions
- name: Run dependency version checks
id: lint
uses: helm/chart-testing-action@cb49023b9227b1097e5eddd8824f48bdea11b1aa
with:
command: lint
config: dependencyConfig.yaml
- name: Install chart-testing-action
uses: helm/chart-testing-action@v2.6.1

- name: Run chart-testing list-changed
id: modified-charts
run: |
modified=$(ct list-changed --target-branch ${{ github.event.repository.default_branch }})
if [[ -n "$modified" ]]; then
echo "modified=true" >> "$GITHUB_OUTPUT"
fi

# disabling step temporarily to have more time to look into "chart metadata is missing these dependencies" error
# - name: Run chart-testing linter
# if: steps.modified-charts.outputs.modified == 'true'
# run: ct lint --config ct.yaml
22 changes: 22 additions & 0 deletions .github/workflows/yamllinter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# This action checks the linting errors in yaml files
name: yaml-lint

on:
pull_request:
branches:
- main
- release-v*

jobs:
yaml_lint_scan:
name: Run Yaml Lint
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: setup python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install yamllint
- run: yamllint .
44 changes: 44 additions & 0 deletions .yamllint
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
yaml-files:
- "*.yaml"
- "*.yml"
- ".yamllint"

rules:
braces:
level: warning
max-spaces-inside: 1
brackets:
level: warning
max-spaces-inside: 1
colons: enable
commas: enable
comments:
level: warning
comments-indentation: disable
document-end: disable
document-start: disable
empty-lines: enable
empty-values: disable
hyphens: enable
indentation: enable
key-duplicates: enable
key-ordering: disable
line-length: disable
new-line-at-end-of-file: enable
new-lines: enable
octal-values: disable
quoted-strings: disable
trailing-spaces: enable
truthy:
level: warning

ignore: |
.github/workflows/
charts/*/templates/
charts/*/*/*/templates/
charts/csi-powermax/charts/csireverseproxy/conf/config.yaml
charts/csm-replication/crds/replicationcrds.all.yaml
charts/csm-authorization-v2.0/crds/csm-authorization.storage.dell.com_csmroles.yaml
charts/csm-authorization-v2.0/crds/csm-authorization.storage.dell.com_csmtenants.yaml
charts/csm-authorization-v2.0/crds/csm-authorization.storage.dell.com_storages.yaml
8 changes: 8 additions & 0 deletions ct.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# See https://github.com/helm/chart-testing#configuration
remote: origin
target-branch: main
# Not executed on installation-wizard because of the dependency on other charts
chart-dirs:
- charts
validate-maintainers: false
check-version-increment: false
5 changes: 0 additions & 5 deletions dependencyConfig.yaml

This file was deleted.

6 changes: 0 additions & 6 deletions lintConfig.yaml

This file was deleted.