Skip to content

Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /examples/sp… #118

Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /examples/sp…

Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /examples/sp… #118

name: "Integration Test"
on:
push:
branches:
- main
pull_request:
paths:
- '.github/workflows/integration-test.yml'
- 'cmd/**'
- 'docker/**'
- 'internal/**'
- 'pkg/**'
- 'tests/**'
- 'Makefile'
- 'Makefile.Common'
- 'go.mod'
- 'go.sum'
- '!**.md'
- '!internal/buildscripts/**'
concurrency:
group: integration-test-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
GO_VERSION: "1.21.9"
jobs:
docker-otelcol:
name: docker-otelcol
# Use 20.04.5 until https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16450 is resolved
runs-on: ubuntu-20.04
strategy:
matrix:
ARCH: [ "amd64", "arm64" ]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: '**/go.sum'
- uses: actions/cache@v4
id: bundle-cache
with:
path: .cache/buildx/agent-bundle-${{ matrix.ARCH }}
key: agent-bundle-buildx-${{ matrix.ARCH }}-${{ hashFiles('internal/signalfx-agent/bundle/**') }}
restore-keys: |
agent-bundle-buildx-${{ matrix.ARCH }}-
- uses: docker/setup-qemu-action@v3
if: ${{ matrix.ARCH != 'amd64' }}
with:
platforms: ${{ matrix.ARCH }}
image: tonistiigi/binfmt:qemu-v7.0.0
- run: |
make docker-otelcol ARCH=${{ matrix.ARCH }}
env:
DOCKER_BUILDKIT: '1'
BUNDLE_CACHE_HIT: "${{ steps.bundle-cache.outputs.cache-hit }}"
- run: docker save -o ./bin/image.tar otelcol:latest
- uses: actions/upload-artifact@v4
with:
name: otelcol-${{ matrix.ARCH }}
path: ./bin
integration-vet:
name: integration-vet
# Use 20.04.5 until https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16450 is resolved
runs-on: ubuntu-20.04
strategy:
matrix:
ARCH: [ "amd64", "arm64" ]
fail-fast: false
needs: [docker-otelcol]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: '**/go.sum'
- uses: actions/download-artifact@v4
with:
name: otelcol-${{ matrix.ARCH }}
path: ./bin
- uses: docker/setup-qemu-action@v3
if: ${{ matrix.ARCH != 'amd64' }}
with:
platforms: ${{ matrix.ARCH }}
image: tonistiigi/binfmt:qemu-v7.0.0
- run: docker load -i ./bin/image.tar
- run: chmod a+x ./bin/*
- run: make integration-vet
env:
SPLUNK_OTEL_COLLECTOR_IMAGE: 'otelcol:latest'
integration-test:
name: integration-test
# Use 20.04.5 until https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/16450 is resolved
runs-on: ubuntu-20.04
needs: [docker-otelcol]
strategy:
matrix:
ARCH: [ "amd64", "arm64" ]
PROFILE: [ "integration", "smartagent" ]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Changed service files
id: changed-services
uses: tj-actions/changed-files@v44
with:
files: docker/*/**
- name: Build changed services
if: steps.changed-services.outputs.any_changed == 'true'
env:
CHANGED_SERVICES: ${{ steps.changed-services.outputs.all_changed_files }}
run: |
for i in $CHANGED_SERVICES; do
service=$( echo $i | cut -d '/' -f2 )
if [[ -f docker/${service}/Dockerfile ]] && grep -q "image: quay.io/splunko11ytest/${service}:latest" docker/docker-compose.yml; then
docker build -t quay.io/splunko11ytest/${service}:latest docker/${service}
fi
done
docker images
- run: docker compose -f docker/docker-compose.yml --profile ${{ matrix.PROFILE }} up -d --quiet-pull
- uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: '**/go.sum'
- uses: actions/download-artifact@v4
with:
name: otelcol-${{ matrix.ARCH }}
path: ./bin
- uses: docker/setup-qemu-action@v3
if: ${{ matrix.ARCH != 'amd64' }}
with:
platforms: ${{ matrix.ARCH }}
image: tonistiigi/binfmt:qemu-v7.0.0
- run: docker load -i ./bin/image.tar
- run: chmod a+x ./bin/*
- uses: shogo82148/actions-setup-redis@v1
if: matrix.PROFILE == 'integration'
with:
auto-start: false
redis-port: "6379"
- run: redis-cli ping
if: matrix.PROFILE == 'integration'
- run: redis-cli set tempkey tempvalue
if: matrix.PROFILE == 'integration'
- name: Run Integration Test
run: |
set -o pipefail
target="integration-test"
if [[ "${{ matrix.PROFILE }}" = "smartagent" ]]; then
target="smartagent-integration-test"
fi
make $target 2>&1 | tee ${{ matrix.PROFILE }}-${{ github.run_id }}-${{ matrix.ARCH }}.out
exit_status=${PIPESTATUS[0]}
echo "Exit status: $exit_status"
exit $exit_status
env:
SPLUNK_OTEL_COLLECTOR_IMAGE: 'otelcol:latest'
# The Integration Test output is extremely large so we upload it as an artifact
- name: Upload Integration Test Output as Artifact
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ matrix.PROFILE }}-${{ github.run_id }}-${{ matrix.ARCH }}.out
path: ${{ matrix.PROFILE }}-${{ github.run_id }}-${{ matrix.ARCH }}.out
retention-days: 5