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

Github Workflow to Lint and Test Helm Chart #2002

Closed
wants to merge 6 commits into from
Closed
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
54 changes: 54 additions & 0 deletions .github/workflows/helm-chart-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Lint and Test Helm Charts

on: pull_request

jobs:
lint-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Helm
uses: azure/setup-helm@v3
with:
version: v3.13.2

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
check-latest: true

- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1

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

- name: Run chart-testing (lint)
if: steps.list-changed.outputs.changed == 'true'
run: ct lint --target-branch ${{ github.event.repository.default_branch }}

- name: Create kind cluster
if: steps.list-changed.outputs.changed == 'true'
uses: helm/kind-action@v1.8.0

- name: Build Helm Charts
if: steps.list-changed.outputs.changed == 'true'
run: |
helm repo add kedacore https://kedacore.github.io/charts
helm repo update
cd charts
helm dependency build selenium-grid

- name: Run chart-testing (install)
if: steps.list-changed.outputs.changed == 'true'
run: ct install --target-branch ${{ github.event.repository.default_branch }}
7 changes: 6 additions & 1 deletion charts/selenium-grid/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,16 @@ apiVersion: v2
name: selenium-grid
description: A Helm chart for creating a Selenium Grid Server in Kubernetes
type: application
version: 0.24.0
version: 0.25.0
appVersion: 4.15.0-20231102
icon: https://github.com/SeleniumHQ/docker-selenium/raw/trunk/logo.png
dependencies:
- repository: https://kedacore.github.io/charts
version: 2.12.0
name: keda
condition: autoscaling.enabled
maintainers:
- name: SeleniumHQ
email: selenium-developers@googlegroups.com
sources:
- https://github.com/SeleniumHQ/docker-selenium
36 changes: 18 additions & 18 deletions charts/selenium-grid/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ global:
# Image tag for browser's nodes
nodesImageTag: 4.15.0-20231110
# Pull secret for all components, can be overridden individually
imagePullSecret: ""
imagePullSecret: ""

# Basic auth settings for Selenium Grid
basicAuth:
# Enable or disable basic auth
enabled: true
# Username for basic auth
username: admin
# Password for basic auth
password: admin
# Enable or disable basic auth
enabled: true
# Username for basic auth
username: admin
# Password for basic auth
password: admin

# Deploy Router, Distributor, EventBus, SessionMap and Nodes separately
isolateComponents: false
Expand Down Expand Up @@ -358,7 +358,7 @@ autoscaling:
maxReplicaCount: 8
pollingInterval: 10
# List of triggers. Be careful, the default trigger of selenium-grid will be overwritten if you specify this
#triggers:
# triggers:
# Options for KEDA ScaledJobs (only used when scalingType is set to "job")
# see https://keda.sh/docs/latest/concepts/scaling-jobs/#scaledjob-spec
scaledJobOptions:
Expand Down Expand Up @@ -504,14 +504,14 @@ chromeNode:
# claimName: my-pv-claim

# Override the scaled options for chrome nodes
#scaledOptions:
#scaledJobOptions:
#scaledObjectOptions:
# scaledOptions:
# scaledJobOptions:
# scaledObjectOptions:
hpa:
url: '{{ include "seleniumGrid.graphqlURL" . }}'
browserName: chrome
# browserVersion: '91.0' # Optional. Only required when supporting multiple versions of browser in your Selenium Grid.
unsafeSsl : 'true' # Optional
unsafeSsl: 'true' # Optional

# It is used to add a sidecars proxy in the same pod of the browser node.
# It means it will add a new container to the deployment itself.
Expand Down Expand Up @@ -636,9 +636,9 @@ firefoxNode:
# claimName: my-pv-claim

# Override the scaled options for firefox nodes
#scaledOptions:
#scaledJobOptions:
#scaledObjectOptions:
# scaledOptions:
# scaledJobOptions:
# scaledObjectOptions:
hpa:
url: '{{ include "seleniumGrid.graphqlURL" . }}'
browserName: firefox
Expand Down Expand Up @@ -764,9 +764,9 @@ edgeNode:
# claimName: my-pv-claim

# Override the scaled options for edge nodes
#scaledOptions:
#scaledJobOptions:
#scaledObjectOptions:
# scaledOptions:
# scaledJobOptions:
# scaledObjectOptions:
hpa:
url: '{{ include "seleniumGrid.graphqlURL" . }}'
browserName: MicrosoftEdge
Expand Down