Skip to content

Commit

Permalink
Share setup sub-action in CI (#615)
Browse files Browse the repository at this point in the history
* Share setup sub-action in CI

Signed-off-by: Yuri Shkuro <github@ysh.us>
  • Loading branch information
yurishkuro authored Oct 31, 2024
1 parent 4aab996 commit 1db9b63
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 29 deletions.
51 changes: 51 additions & 0 deletions .github/actions/prepare-k8s/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Prepare K8s for Helm tests
runs:
using: "composite"
steps:
- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: v3.14.4

# Python is required because `ct lint` runs Yamale (https://github.com/23andMe/Yamale) and
# yamllint (https://github.com/adrienverge/yamllint) which require Python
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: 3.7

- name: Set up chart-testing
uses: helm/chart-testing-action@v2.6.1
with:
version: v3.10.1

- name: Create kind cluster
uses: helm/kind-action@v1.9.0

- name: Install kubectl
uses: azure/setup-kubectl@v4.0.0
with:
version: 'v1.28.8'
id: install

- name: Set up cert-manager
shell: bash
run: |
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml --namespace ingress-nginx
kubectl label node --all ingress-ready=true
kubectl describe pod --selector=app.kubernetes.io/component=controller -n ingress-nginx
kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=5m
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
- name: Set up cmctl
shell: bash
run: |
curl -sSL -o cmctl.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.1/cmctl-linux-amd64.tar.gz
tar xzf cmctl.tar.gz
sudo mv cmctl /usr/local/bin
cmctl version
- name: Check if cert-manager is up
shell: bash
run: |
cmctl check api --wait=5m
37 changes: 8 additions & 29 deletions .github/workflows/lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@ name: Lint and Test Charts
on: pull_request

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

Expand Down Expand Up @@ -39,34 +38,14 @@ jobs:
- name: Run chart-testing (lint)
run: ct lint --config ct.yaml

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

- name: Install kubectl
uses: azure/setup-kubectl@v4.0.0
test-with-cassandra:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
version: 'v1.28.8'
id: install

- name: Set up cert-manager
run: |
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml --namespace ingress-nginx
kubectl label node --all ingress-ready=true
kubectl describe pod --selector=app.kubernetes.io/component=controller -n ingress-nginx
kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=5m
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.6.1/cert-manager.yaml
- name: Set up cmctl
run: |
curl -sSL -o cmctl.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.1/cmctl-linux-amd64.tar.gz
tar xzf cmctl.tar.gz
sudo mv cmctl /usr/local/bin
cmctl version
fetch-depth: 0

- name: Check if cert-manager is up
run: |
cmctl check api --wait=5m
- uses: ./.github/actions/prepare-k8s

- name: Run chart-testing (install)
run: ct install --config ct.yaml

0 comments on commit 1db9b63

Please sign in to comment.