Bump k8s.io/client-go from 0.19.2 to 0.29.0 in /test/apiserver #1026
Workflow file for this run
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: PR | |
on: pull_request | |
jobs: | |
end2end: | |
name: End To End | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ingressVersion: | |
- "" # uses makefile default (stable version) | |
isUpgrade: | |
- false | |
k8sVersion: | |
- v1.28.0 | |
- v1.27.3 | |
- v1.26.6 | |
- v1.25.11 | |
- v1.24.15 | |
include: | |
- isUpgrade: true | |
k8sVersion: v1.25.11 | |
ref: main | |
- ingressVersion: controller-v1.2.1 | |
k8sVersion: v1.25.11 | |
timeout-minutes: 20 | |
defaults: | |
run: | |
shell: bash -ex -o pipefail {0} | |
working-directory: ./src/github.com/${{ github.repository }} | |
env: | |
GOPATH: ${{ github.workspace }} | |
KONK_NAMESPACE: baz | |
PRINT_DEBUG: | | |
set +x | |
while read cmd | |
do | |
echo "::group::$cmd" | |
$cmd | |
echo "::endgroup::" | |
done <<< "git diff | |
helm list --all-namespaces | |
kubectl describe po,ing,certificate,clusterissuer,issuer,konk,konkservice -A | |
kubectl get po,rs,svc,ep,certificate,clusterissuer,issuer,ingress,secrets,configmap -A | |
kubectl logs -l app.kubernetes.io/name=etcd -n $KONK_NAMESPACE | |
kubectl logs -l app.kubernetes.io/component=apiserver -n $KONK_NAMESPACE | |
kubectl logs -l app.kubernetes.io/name=konk-operator | |
kubectl logs -l app.kubernetes.io/component=controller,app.kubernetes.io/name=example-apiserver | |
kubectl logs -l app.kubernetes.io/component=apiserver,app.kubernetes.io/name=example-apiserver -c example-apiserver | |
kubectl logs -l app.kubernetes.io/component=controller -n ingress-nginx" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/${{ github.repository }} | |
ref: ${{ matrix.ref }} | |
- name: Cache Go modules | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/pkg/mod | |
${{ github.workspace }}/pkg/mod | |
key: ${{ runner.os }}-go-${{ matrix.isUpgrade }}-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- uses: satackey/[email protected] | |
continue-on-error: true | |
- name: Fetch tags | |
run: | | |
git fetch --prune --unshallow | |
- name: Free space by removing unnecessary files | |
run: | | |
sudo rm -rf /usr/local/lib/android | |
- name: ingress version | |
if: ${{ ! matrix.ingressVersion }} | |
run: | | |
echo "ingress_version=$( | |
curl -sS --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' https://api.github.com/repos/kubernetes/ingress-nginx/releases | jq '[.[] | select(.draft==false and .prerelease==false and (.tag_name | startswith("controller-"))) | .tag_name][0]' -r | |
)" >> $GITHUB_ENV | |
- name: Helm Lint | |
run: | | |
mkdir -p ~/.kube | |
make helm-lint | |
- uses: helm/[email protected] | |
timeout-minutes: 5 | |
with: | |
config: ./src/github.com/${{ github.repository }}/test/kind.yaml | |
node_image: kindest/node:${{ matrix.k8sVersion }} | |
- name: Deploy charts | |
timeout-minutes: 2 | |
run: | | |
kubectl cluster-info | |
make deploy-cert-manager deploy-ingress-nginx INGRESS_VERSION=${{ matrix.ingressVersion || env.ingress_version }} | |
- name: Install konk-operator | |
if: ${{ matrix.isUpgrade }} | |
timeout-minutes: 6 | |
run: | | |
make kind-load-konk KIND_NAME="chart-testing" | |
make deploy-konk-operator | |
kubectl create ns $KONK_NAMESPACE || true | |
kubectl create -n $KONK_NAMESPACE -f examples/konk.yaml | |
until kubectl wait -n $KONK_NAMESPACE --timeout=3m --for=condition=ready pod -l app.kubernetes.io/component=apiserver,app.kubernetes.io/name=konk | |
do | |
sleep 1 | |
done | |
- name: Checkout code | |
if: ${{ matrix.isUpgrade }} | |
uses: actions/checkout@v4 | |
with: | |
path: ./src/github.com/${{ github.repository }} | |
- name: Fetch tags | |
if: ${{ matrix.isUpgrade }} | |
run: | | |
git fetch --prune --unshallow | |
- name: Install/Upgrade konk-operator | |
timeout-minutes: 3 | |
run: | | |
make kind-load-konk KIND_NAME="chart-testing" | |
make deploy-crds deploy-konk-operator | |
- name: Test Konk | |
timeout-minutes: 6 | |
run: | | |
kubectl create ns $KONK_NAMESPACE || true | |
kubectl apply -n $KONK_NAMESPACE -f examples/konk.yaml | |
# FIXME: use the helm-operator status to detect installation was successful | |
until kubectl wait -n $KONK_NAMESPACE --timeout=3m --for=condition=ready pod -l app.kubernetes.io/name=etcd | |
do | |
sleep 1 | |
done | |
until kubectl wait -n $KONK_NAMESPACE --timeout=3m --for=condition=ready pod -l app.kubernetes.io/component=apiserver,app.kubernetes.io/name=konk | |
do | |
sleep 1 | |
done | |
make test-konk KONK_NAMESPACE=$KONK_NAMESPACE | |
make test-konk-local | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.15.x | |
- name: Build Extension APIServer | |
timeout-minutes: 7 | |
run: | | |
make kind-load-apiserver KIND_NAME="chart-testing" | |
- name: Deploy Extension APIServer | |
timeout-minutes: 4 | |
run: | | |
# deploy example-apiserver using a passed KONK reference | |
make deploy-example-apiserver KIND_NAME="chart-testing" \ | |
HELM_FLAGS="--set=konk.name=runner-konk --set=konk.namespace=$KONK_NAMESPACE --set=konk.create=false --set=image.pullPolicy=IfNotPresent" | |
POD_NAME=$(kubectl get pod -o name -l app.kubernetes.io/name=konk-service,app.kubernetes.io/component=apiservice ) | |
until kubectl exec -it $POD_NAME -- kubectl get contact | |
do | |
kubectl exec -it $POD_NAME -- kubectl describe apiservice v1alpha1.example.infoblox.com | |
sleep 3 | |
done | |
- name: Test Extension APIServer | |
run: | | |
make test-apiserver | |
# Test konkservice deployed | |
make test-apiserver-konk-service | |
kubectl wait --timeout=1m --for=condition=ready pod -l app.kubernetes.io/name=konk-service,app.kubernetes.io/component=apiservice-test | |
- name: Test ingress | |
timeout-minutes: 1 | |
run: | | |
kubectl -n ingress-nginx logs -l app.kubernetes.io/component=controller --tail 0 -f & | |
until kubectl -s localhost:80 get contacts | |
do | |
sleep 3 | |
done | |
- name: Print debug | |
if: ${{ always() }} | |
run: bash -c "$PRINT_DEBUG" | |
- name: Test delete | |
timeout-minutes: 3 | |
run: | | |
helm list --all-namespaces | |
kubectl delete konks,konkservices --all --all-namespaces | |
[ -z "$(helm list --all-namespaces --filter '^runner-.*konk(-service)?$' | tee /dev/stderr | grep konk)" ] | |
- name: Print debug | |
if: ${{ always() }} | |
run: bash -c "$PRINT_DEBUG" | |
readme: | |
runs-on: ubuntu-latest | |
timeout-minutes: 2 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
- run: make chart-readmes | |
- name: commit changes | |
uses: EndBug/add-and-commit@v9 | |
with: | |
message: update chart readme | |
add: helm-charts | |
push: origin HEAD:${{ github.head_ref }} |