This repository has been archived by the owner on Oct 14, 2024. It is now read-only.
workflows: bump helm/kind-action from 1.9.0 to 1.10.0 #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
branches: | |
- '*' | |
push: | |
branches: | |
- master | |
- main | |
workflow_dispatch: | |
jobs: | |
specs: | |
name: specs | |
strategy: | |
matrix: | |
runner: | |
- actuated-arm64 | |
- actuated | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check specs | |
run: | | |
./specs.sh | |
registry-mirror: | |
strategy: | |
matrix: | |
runner: | |
- actuated-arm64 | |
- actuated | |
runs-on: ${{ matrix.runner }} | |
steps: | |
- name: Setup mirror | |
uses: self-actuated/hub-mirror@master | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Pull image using cache | |
run: | | |
docker pull alpine:latest | |
shell: bash | |
# kind-test: | |
# name: Test KIND 1.7.0 | |
# runs-on: ${{ matrix.runner }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# k8s-release: | |
# - 'v1.27.3' | |
# - 'v1.26.6' | |
# - 'v1.25.11' | |
# - 'v1.24.15' | |
# - 'v1.23.17' | |
# runner: | |
# - actuated | |
# - ubuntu-latest | |
# steps: | |
# # Prevent any image throttling from DockerHub (e.g. for Kind) | |
# - name: Set up Actuated mirror | |
# uses: self-actuated/hub-mirror@master | |
# - name: Create k8s Kind Cluster | |
# uses: helm/[email protected] | |
# timeout-minutes: 5 | |
# with: | |
# node_image: kindest/node:${{ matrix.k8s-release }} | |
# cluster_name: kind | |
# wait: 300s | |
# kind-test-18: | |
# name: Test KIND 1.8.0 | |
# runs-on: ${{ matrix.runner }} | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# k8s-release: | |
# - 'v1.27.3' | |
# - 'v1.26.6' | |
# - 'v1.25.11' | |
# - 'v1.24.15' | |
# - 'v1.23.17' | |
# runner: | |
# - actuated | |
# - ubuntu-latest | |
# steps: | |
# # Prevent any image throttling from DockerHub (e.g. for Kind) | |
# - name: Set up Actuated mirror | |
# uses: self-actuated/hub-mirror@master | |
# - name: Create k8s Kind Cluster | |
# uses: helm/[email protected] | |
# timeout-minutes: 5 | |
# with: | |
# node_image: kindest/node:${{ matrix.k8s-release }} | |
# cluster_name: kind | |
# wait: 300s | |
kind-ingress-test: | |
runs-on: ${{ matrix.runner }} | |
strategy: | |
fail-fast: false | |
matrix: | |
runner: | |
- actuated | |
- actuated-arm64 | |
- ubuntu-latest | |
steps: | |
# Prevent any image throttling from DockerHub (e.g. for Kind) | |
- name: Set up Actuated mirror | |
uses: self-actuated/hub-mirror@master | |
- uses: helm/[email protected] | |
with: | |
install_only: true | |
- run: | | |
cat <<EOF | kind create cluster --config=- | |
kind: Cluster | |
apiVersion: kind.x-k8s.io/v1alpha4 | |
nodes: | |
- role: control-plane | |
kubeadmConfigPatches: | |
- | | |
kind: InitConfiguration | |
nodeRegistration: | |
kubeletExtraArgs: | |
node-labels: "ingress-ready=true" | |
extraPortMappings: | |
- containerPort: 80 | |
hostPort: 80 | |
protocol: TCP | |
- containerPort: 443 | |
hostPort: 443 | |
protocol: TCP | |
EOF | |
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml | |
# we cannot just wait immediately, it triggers a race so first ensure something spins up to wait on | |
until kubectl get pod --namespace ingress-nginx -l app.kubernetes.io/component=controller | grep -q 'Running' | |
do | |
sleep 10 | |
done | |
# Now wait for the condition | |
kubectl wait --namespace ingress-nginx \ | |
--for=condition=ready pod \ | |
--selector=app.kubernetes.io/component=controller \ | |
--timeout=90s | |
# Now apply an ingress | |
kubectl apply -f https://kind.sigs.k8s.io/examples/ingress/usage.yaml | |
# should output "foo-app" | |
until curl -sSfL localhost/foo/hostname; do | |
sleep 5 | |
done | |
# should output "bar-app" | |
curl localhost/bar/hostname | |
shell: bash | |
timeout-minutes: 10 |