Skip to content

Update eventing nightly (#1462) #6006

Update eventing nightly (#1462)

Update eventing nightly (#1462) #6006

name: KinD conformance tests
on:
push:
branches: ["main", "release-*"]
pull_request:
branches: ["main", "release-*"]
workflow_dispatch: # Manual trigger.
inputs:
milestoneEventsTarget:
description: "Target Milestone Events to URL"
jobs:
run:
runs-on: ubuntu-latest
strategy:
fail-fast: false # Keep running if one leg fails.
matrix:
k8s-version:
- v1.28.7
# Map between K8s and KinD versions.
# This is attempting to make it a bit clearer what's being tested.
# See: https://github.com/kubernetes-sigs/kind/releases/tag/v0.17.0
include:
- k8s-version: v1.28.7
kind-image-sha: sha256:9bc6c451a289cf96ad0bbaf33d416901de6fd632415b076ab05f5fa7e4f65c58
steps:
- name: Defaults
run: |
if [[ "${{ secrets.SLACK_WEBHOOK }}" != "" ]]; then
echo "SLACK_WEBHOOK=exists" >> $GITHUB_ENV
fi
if [[ "${{ github.event.inputs.milestoneEventsTarget }}" != "" ]]; then
echo "MILESTONE_EVENTS_TARGET=${{ github.event.inputs.milestoneEventsTarget }}" >> $GITHUB_ENV
fi
- name: Set up Go
uses: knative/actions/setup-go@main
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Merge upstream
if: github.event_name == 'pull_request'
run: |
if ! git config user.name > /dev/null; then
git config user.name "John Doe"
fi
if ! git config user.email > /dev/null; then
git config user.email "johndoe@localhost"
fi
git remote add upstream https://github.com/${{ github.repository }}.git
git fetch upstream ${{ github.base_ref }}
git pull --no-rebase --no-commit upstream ${{ github.base_ref }}
shell: bash
- name: Run conformance tests & install all required deps
run: |
make kubeconfig \
install \
test-conformance \
KIND_K8S_VERSION=${{ matrix.k8s-version }} \
KIND_K8S_DIGEST=${{ matrix.kind-image-sha }}
- name: Gather Failure Data
if: ${{ failure() }}
run: |
set -x
make .envrc
. .envrc
make kubectl
echo "===================== Brokers =============================="
kubectl get broker --all-namespaces=true -oyaml
echo "===================== Triggers ============================="
kubectl get trigger --all-namespaces=true -oyaml
echo "===================== RabbitMQClusters ====================="
kubectl get RabbitMQCluster --all-namespaces=true -oyaml
echo "===================== RabbitMQ Exchanges ====================="
kubectl get exchange.rabbitmq.com --all-namespaces=true -oyaml
echo "===================== RabbitMQ Queues ====================="
kubectl get queue.rabbitmq.com --all-namespaces=true -oyaml
echo "===================== RabbitMQ Bindings ====================="
kubectl get binding.rabbitmq.com --all-namespaces=true -oyaml
echo "===================== K8s Events ==========================="
kubectl get events --all-namespaces=true -oyaml
echo "===================== Pod Logs ============================="
namespaces=(knative-eventing rabbitmq-system)
for namespace in ${namespaces[@]}; do
for pod in $(kubectl get pod -n $namespace | awk '{print $1}'); do
for container in $(kubectl get pod "${pod}" -n $namespace -ojsonpath='{.spec.containers[*].name}'); do
echo "Namespace, Pod, Container: ${namespace}, ${pod}, ${container}"
kubectl logs -n $namespace "${pod}" -c "${container}" || true
echo "----------------------------------------------------------"
echo "Namespace, Pod, Container (Previous instance): ${namespace}, ${pod}, ${container}"
kubectl logs -p -n $namespace "${pod}" -c "${container}" || true
echo "============================================================"
done
done
done
- name: Post failure notice to Slack
# Note: using env.SLACK_WEBHOOK here because secrets are not allowed in the if block.
if: ${{ env.SLACK_WEBHOOK != '' && failure() && github.event_name != 'pull_request' }}
uses: rtCamp/action-slack-notify@v2.1.0
env:
SLACK_ICON: http://github.com/knative.png?size=48
SLACK_USERNAME: github-actions
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
SLACK_CHANNEL: "eventing-delivery"
MSG_MINIMAL: "true"
SLACK_TITLE: Periodic e2e for RabbitMQ on kind on (${{ matrix.k8s-version }} failed.
SLACK_MESSAGE: |
For detailed logs: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}