Update eventing nightly (#1488) #6101
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: 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 }} |