Skip to content

Merge pull request #1861 from kube-logging/feat/crd-subchart-as-oci-a… #2616

Merge pull request #1861 from kube-logging/feat/crd-subchart-as-oci-a…

Merge pull request #1861 from kube-logging/feat/crd-subchart-as-oci-a… #2616

Workflow file for this run

name: E2E tests
on:
push:
branches:
- master
- "release-[0-9]+.[0-9]+*"
pull_request:
env:
GO_VERSION: '1.23'
KUBECTL_VERSION: 'v1.26.6'
jobs:
build:
name: Image build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and export
uses: docker/build-push-action@v4
with:
context: .
tags: controller:local
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=docker,dest=/tmp/controller.tar
target: e2e-test
build-args: |
GO_BUILD_FLAGS=-cover -covermode=atomic
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: controller
path: /tmp/controller.tar
go:
name: Go end2end tests
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
# matrix:
# SHARD: [0]
# SHARDS: [1]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: controller
path: /tmp
- name: Load image
run: |
docker load --input /tmp/controller.tar
docker image ls -a
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ${{ env.GO_VERSION }}
- name: Set up kubectl
uses: azure/setup-kubectl@v3
with:
version: ${{ env.KUBECTL_VERSION }}
- name: Checkout code
uses: actions/checkout@v3
- name: Run e2e tests
run: make test-e2e-ci
# env:
# SHARD: ${{ matrix.SHARD }}
# SHARDS: ${{ matrix.SHARDS }}
- name: Test Coverage
uses: vladopajic/go-test-coverage@v2
with:
profile: ./build/_test_coverage/coverage_e2e.out
- name: Archive Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: go-e2e-test-cluster-logs
path: build/_test
retention-days: 5
chart:
name: Shell script tests with chart install
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix:
kube: ["1.26", "1.27", "1.28", "1.29", "1.30", "1.31"]
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: controller
path: /tmp
- name: Load image
run: |
docker load --input /tmp/controller.tar
docker image ls -a
- name: Set up kubectl
uses: azure/setup-kubectl@v3
with:
version: ${{ env.KUBECTL_VERSION }}
- name: Checkout code
uses: actions/checkout@v3
# See https://github.com/kubernetes-sigs/kind/releases/tag/v0.20.0
- name: Determine KinD node image version
id: node_image
run: |
case ${{ matrix.kube }} in
1.26)
NODE_IMAGE=kindest/node:v1.26.6@sha256:6e2d8b28a5b601defe327b98bd1c2d1930b49e5d8c512e1895099e4504007adb ;;
1.27)
NODE_IMAGE=kindest/node:v1.27.3@sha256:3966ac761ae0136263ffdb6cfd4db23ef8a83cba8a463690e98317add2c9ba72 ;;
1.28)
NODE_IMAGE=kindest/node:v1.28.9@sha256:9ba4d311e7861d27b210e5960e5ce921a7c53d3c67e0545fd8a1cb9a76dfa2cb ;;
1.29)
NODE_IMAGE=kindest/node:v1.29.4@sha256:ea40a6bd365a17f71fd3883a1d34a0791d7d6b0eb75832c6d85b6f2326827f1e ;;
1.30)
NODE_IMAGE=kindest/node:v1.30.0@sha256:2af5d1b382926abcd6336312d652cd045b7cc47475844a608669c71b1fefcfbc ;;
1.31)
NODE_IMAGE=kindest/node:v1.31.0@sha256:53df588e04085fd41ae12de0c3fe4c72f7013bba32a20e7325357a1ac94ba865 ;;
esac
echo "image=$NODE_IMAGE" >> $GITHUB_OUTPUT
- name: Make setup
run: make kind-cluster stern
env:
KIND_IMAGE: ${{ steps.node_image.outputs.image }}
- name: Test
run: hack/test.sh
- name: Print last 10k kubernetes logs from default and logging namespaces
if: always()
run: |
mkdir -p build/_test
bin/stern -n default,logging ".*" --tail 100000 --no-follow > build/_test/cluster.logs
- name: Archive Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: script-e2e-test-cluster-logs-${{ matrix.kube }}
path: build/_test
retention-days: 5