Bump k8s.io/api from 0.24.3 to 0.32.0 in /pkg/stanza #15600
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: build-and-test | |
on: | |
push: | |
branches: [ main ] | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+*' | |
pull_request: | |
env: | |
TEST_RESULTS: testbed/tests/results/junit/results.xml | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
setup-environment: | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
check-collector-module-version: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Check Collector Module Version | |
run: ./.github/workflows/scripts/check-collector-module-version.sh | |
check-codeowners: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v2 | |
- name: Check Code Owner Existence | |
run: ./.github/workflows/scripts/check-codeowners.sh check_code_owner_existence | |
- name: Check Component Existence | |
run: ./.github/workflows/scripts/check-codeowners.sh check_component_existence | |
lint-matrix: | |
strategy: | |
matrix: | |
group: | |
- receiver-0 | |
- receiver-1 | |
- processor | |
- exporter | |
- extension | |
- internal | |
- other | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Cache Lint Build | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/go-build | |
key: go-lint-build-${{ matrix.group }}-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Lint | |
run: make -j2 golint GROUP=${{ matrix.group }} | |
lint: | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
needs: [setup-environment, lint-matrix] | |
steps: | |
- name: Print result | |
run: echo ${{ needs.lint-matrix.result }} | |
- name: Interpret result | |
run: | | |
if [[ success == ${{ needs.lint-matrix.result }} ]] | |
then | |
echo "All matrix jobs passed!" | |
else | |
echo "One or more matrix jobs failed." | |
false | |
fi | |
checks: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: CheckDoc | |
run: make checkdoc | |
- name: Porto | |
run: | | |
make goporto | |
git diff --exit-code || (echo 'Porto links are out of date, please run "make goporto" and commit the changes in this PR.' && exit 1) | |
- name: Check for go mod dependency changes | |
run: | | |
make gotidy | |
git diff --exit-code || (echo 'go.mod/go.sum deps changes detected, please run "make gotidy" and commit the changes in this PR.' && exit 1) | |
- name: CodeGen | |
run: | | |
make generate | |
git diff --exit-code ':!*go.sum' || (echo 'Generated code is out of date, please run "make generate" and commit the changes in this PR.' && exit 1) | |
- name: MultimodVerify | |
run: make multimod-verify | |
unittest-matrix: | |
strategy: | |
matrix: | |
go-version: [1.19, 1.18] | |
group: | |
- receiver-0 | |
- receiver-1 | |
- processor | |
- exporter | |
- extension | |
- internal | |
- other | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Cache Test Build | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/go-build | |
key: go-test-build-${{ runner.os }}-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }} | |
- name: Run Unit Tests | |
run: make gotest GROUP=${{ matrix.group }} | |
unittest: | |
if: ${{ always() }} | |
strategy: | |
matrix: | |
go-version: [1.19, 1.18] | |
runs-on: ubuntu-latest | |
needs: [setup-environment, unittest-matrix] | |
steps: | |
- name: Print result | |
run: echo ${{ needs.unittest-matrix.result }} | |
- name: Interpret result | |
run: | | |
if [[ success == ${{ needs.unittest-matrix.result }} ]] | |
then | |
echo "All matrix jobs passed!" | |
else | |
echo "One or more matrix jobs failed." | |
false | |
fi | |
integration-tests: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Run Integration Tests | |
run: make integration-tests-with-cover | |
correctness-traces: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Correctness | |
run: make -C testbed run-correctness-traces-tests | |
correctness-metrics: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Correctness | |
run: make -C testbed run-correctness-metrics-tests | |
build-examples: | |
runs-on: ubuntu-latest | |
needs: [setup-environment] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Build Examples | |
run: make build-examples | |
cross-compile: | |
runs-on: ubuntu-latest | |
needs: [unittest, integration-tests, lint] | |
strategy: | |
matrix: | |
os: | |
- darwin | |
- linux | |
- windows | |
arch: | |
- 386 | |
- amd64 | |
- arm | |
- arm64 | |
- ppc64le | |
exclude: | |
- os: darwin | |
arch: 386 | |
- os: darwin | |
arch: arm | |
- os: darwin | |
arch: ppc64le | |
- os: windows | |
arch: arm | |
- os: windows | |
arch: arm64 | |
- os: windows | |
arch: ppc64le | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Build Collector ${{ matrix.binary }} | |
run: make GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} otelcontribcol | |
- name: Upload Collector Binaries | |
uses: actions/upload-artifact@v3 | |
with: | |
name: collector-binaries | |
path: ./bin/* | |
build-package: | |
runs-on: ubuntu-latest | |
needs: [cross-compile] | |
strategy: | |
fail-fast: false | |
matrix: | |
package_type: ["deb", "rpm"] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install Ruby | |
uses: actions/setup-ruby@v1 | |
with: | |
ruby-version: '2.6' | |
- name: Install fpm | |
run: gem install --no-document fpm -v 1.11.0 | |
- name: Download Collector Binaries | |
uses: actions/download-artifact@v3 | |
with: | |
name: collector-binaries | |
path: bin/ | |
- run: chmod +x bin/* | |
- name: Set Release Tag | |
id: github_tag | |
run: ./.github/workflows/scripts/set_release_tag.sh | |
- name: Build ${{ matrix.package_type }} amd64 package | |
run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "amd64" "./dist/" | |
- name: Build ${{ matrix.package_type }} arm64 package | |
run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "arm64" "./dist/" | |
- name: Build ${{ matrix.package_type }} ppc64le package | |
run: ./internal/buildscripts/packaging/fpm/${{ matrix.package_type }}/build.sh "${{ steps.github_tag.outputs.tag }}" "ppc64le" "./dist/" | |
- name: Test ${{ matrix.package_type }} package | |
run: | | |
if [[ "${{ matrix.package_type }}" = "deb" ]]; then | |
./internal/buildscripts/packaging/fpm/test.sh dist/otel-contrib-collector*amd64.deb examples/tracing/otel-collector-config.yml | |
else | |
./internal/buildscripts/packaging/fpm/test.sh dist/otel-contrib-collector*x86_64.rpm examples/tracing/otel-collector-config.yml | |
fi | |
- name: Upload Packages | |
uses: actions/upload-artifact@v3 | |
with: | |
name: collector-packages | |
path: ./dist/* | |
windows-msi: | |
if: false # skip. See https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/10113 | |
runs-on: windows-latest | |
needs: [cross-compile] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Download Binaries | |
uses: actions/download-artifact@v3 | |
with: | |
name: collector-binaries | |
path: ./bin/ | |
- name: Cache Wix | |
id: wix-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
"C:\Program Files (x86)\WiX Toolset v3.11" | |
key: wix-3.11 | |
- name: Install Wix Toolset | |
if: steps.wix-cache.outputs.cache-hit != 'true' | |
run: .\internal\buildscripts\packaging\msi\make.ps1 Install-Tools | |
- run: mkdir -p dist | |
- name: Build MSI | |
run: | | |
$Version = if ($env:GITHUB_REF -match '^refs/tags/(\d+\.\d+\.\d+)') { $Matches[1] } else { "0.0.1" } | |
.\internal\buildscripts\packaging\msi\make.ps1 New-MSI -Version $Version | |
- name: Validate MSI | |
run: .\internal\buildscripts\packaging\msi\make.ps1 Confirm-MSI | |
- name: Upload MSI | |
uses: actions/upload-artifact@v3 | |
with: | |
name: collector-packages | |
path: ./dist/*.msi | |
publish-check: | |
runs-on: ubuntu-latest | |
needs: [build-package] | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Download Binaries | |
uses: actions/download-artifact@v3 | |
with: | |
name: collector-binaries | |
- name: Download Packages | |
uses: actions/download-artifact@v3 | |
with: | |
name: collector-packages | |
path: ./dist/ | |
- name: Verify Distribution Files Exist | |
id: check | |
run: ./.github/workflows/scripts/verify-dist-files-exist.sh | |
publish-dev: | |
runs-on: ubuntu-latest | |
needs: [lint, unittest, integration-tests, build-package] | |
if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) && github.repository == 'open-telemetry/opentelemetry-collector-contrib' | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Mkdir bin and dist | |
run: | | |
mkdir bin/ dist/ | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Download Binaries | |
uses: actions/download-artifact@v3 | |
with: | |
name: collector-binaries | |
path: ./bin/ | |
- run: chmod +x bin/* | |
- name: Download Packages | |
uses: actions/download-artifact@v3 | |
with: | |
name: collector-packages | |
path: ./dist/ | |
- name: Add Permissions to Tool Binaries | |
run: chmod -R +x ./dist | |
- name: Verify Distribution Files Exist | |
id: check | |
run: ./.github/workflows/scripts/verify-dist-files-exist.sh | |
- name: Build Docker Image | |
if: steps.check.outputs.passed == 'true' | |
run: | | |
make docker-otelcontribcol | |
docker tag otelcontribcol:latest otel/opentelemetry-collector-contrib-dev:$GITHUB_SHA | |
docker tag otelcontribcol:latest otel/opentelemetry-collector-contrib-dev:latest | |
- name: Validate Docker Image | |
if: steps.check.outputs.passed == 'true' | |
run: | | |
docker run otel/opentelemetry-collector-contrib-dev:$GITHUB_SHA --version | |
docker run otel/opentelemetry-collector-contrib-dev:latest --version | |
- name: Login to Docker Hub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Push Docker Image | |
if: steps.check.outputs.passed == 'true' | |
run: | | |
docker push otel/opentelemetry-collector-contrib-dev:$GITHUB_SHA | |
docker push otel/opentelemetry-collector-contrib-dev:latest | |
publish-stable: | |
runs-on: ubuntu-latest | |
needs: [lint, unittest, integration-tests, build-package] | |
if: startsWith(github.ref, 'refs/tags/v') && github.repository == 'open-telemetry/opentelemetry-collector-contrib' | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
- name: Setup Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Mkdir bin and dist | |
run: | | |
mkdir bin/ dist/ | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: go-cache-${{ runner.os }}-${{ hashFiles('**/go.sum') }} | |
- name: Install dependencies | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make -j2 gomoddownload | |
- name: Install Tools | |
if: steps.go-cache.outputs.cache-hit != 'true' | |
run: make install-tools | |
- name: Set Release Tag | |
id: github_tag | |
run: ./.github/workflows/scripts/set_release_tag.sh | |
- name: Create Github Release | |
run: | | |
mkdir -p dist/ | |
ghr -t $GITHUB_TOKEN -u open-telemetry -r opentelemetry-collector-contrib --replace $RELEASE_TAG dist/ | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
RELEASE_TAG: ${{ steps.github_tag.outputs.tag }} | |