Skip to content

Add Dashboards for the OTel collector #740

Add Dashboards for the OTel collector

Add Dashboards for the OTel collector #740

Workflow file for this run

name: E2E-Test
on:
pull_request:
branches: [main]
defaults:
run:
shell: bash
jobs:
docker-build:
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "~1.21.3"
check-latest: true
cache-dependency-path: internal/tools/go.sum
- name: Cache tools
uses: actions/cache@v4
with:
path: .tools
key: ci-tools-${{ runner.os }}-${{ hashFiles('internal/tools/go.sum') }}
- name: Touch tools
run: |
mkdir -p .tools
touch .tools/*
- name: Build collector artifact
shell: bash
run: |
echo "Building collector artifact"
make build
- name: Upload binary artifact
uses: actions/upload-artifact@v4
with:
name: dynatrace-otel-collector-bin
path: bin/dynatrace-otel-collector
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push to local registry
uses: docker/build-push-action@v6
with:
context: ./bin
file: Dockerfile
push: false
load: true
tags: dynatrace-otel-collector:e2e-test
- name: export image to tar
run: |
docker save dynatrace-otel-collector:e2e-test > /tmp/dynatrace-otel-collector.tar
- name: Upload container image artifact
uses: actions/upload-artifact@v4
with:
name: dynatrace-otel-collector-image
path: /tmp/dynatrace-otel-collector.tar
k8s-e2e-test-matrix:
env:
KUBECONFIG: /tmp/kube-config-collector-e2e-testing
strategy:
fail-fast: false
matrix:
usecase:
- k8senrichment
- prometheus
- zipkin
- statsd
runs-on: ubuntu-latest
needs: docker-build
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "~1.21.3"
check-latest: true
cache-dependency-path: internal/tools/go.sum
- name: Cache tools
uses: actions/cache@v4
with:
path: .tools
key: ci-tools-${{ runner.os }}-${{ hashFiles('internal/tools/go.sum') }}
- name: Touch tools
run: |
mkdir -p .tools
touch .tools/*
- name: Create kind cluster
uses: helm/[email protected]
with:
node_image: "kindest/node:v1.27.11"
kubectl_version: "v1.27.11"
cluster_name: kind
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: dynatrace-otel-collector-image
path: /tmp
- name: Load Docker image
run: |
docker load --input /tmp/dynatrace-otel-collector.tar
- name: Kind load image
run: |
kind load docker-image dynatrace-otel-collector:e2e-test --name kind
- name: Load Image into Kind
shell: bash
run: |
kind load docker-image dynatrace-otel-collector:e2e-test --name kind
- name: Run e2e tests
run: |
cd internal/testbed/integration/${{ matrix.usecase }}
go test -v --tags=e2e
eec-confmap-provider:
runs-on: ubuntu-latest
needs: docker-build
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "~1.21.3"
check-latest: true
cache-dependency-path: internal/tools/go.sum
- name: Cache tools
uses: actions/cache@v4
with:
path: .tools
key: ci-tools-${{ runner.os }}-${{ hashFiles('internal/tools/go.sum') }}
- name: Touch tools
run: |
mkdir -p .tools
touch .tools/*
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: dynatrace-otel-collector-bin
path: bin
- run: chmod +x bin/*
- name: Run e2e tests
run: |
cd internal/confmap/provider/eecprovider
go test -v --tags=e2e