E2e test k8s #32
Workflow file for this run
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-windows | |
on: | |
push: | |
branches: | |
- 'main' | |
- 'releases/**' | |
tags: | |
- 'v[0-9]+.[0-9]+.[0-9]+*' | |
pull_request: | |
types: [opened, synchronize, reopened, labeled, unlabeled] | |
branches: | |
- main | |
env: | |
TEST_RESULTS: testbed/tests/results/junit/results.xml | |
# Make sure to exit early if cache segment download times out after 2 minutes. | |
# We limit cache download as a whole to 5 minutes. | |
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 2 | |
# Do not cancel this workflow on main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
windows-unittest-matrix: | |
strategy: | |
matrix: | |
group: | |
- receiver-0 | |
- receiver-1 | |
- processor | |
- exporter | |
- extension | |
- internal | |
- pkg | |
- cmd | |
- other | |
runs-on: windows-latest | |
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && (contains(github.event.pull_request.labels.*.name, 'Run Windows') || github.event_name == 'push') }} | |
env: | |
# Limit memory usage via GC environment variables to avoid OOM on GH runners, especially for `cmd/otelcontribcol`, | |
# see https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/28682#issuecomment-1802296776 | |
GOGC: 50 | |
GOMEMLIMIT: 2GiB | |
steps: | |
- uses: actions/checkout@v4 | |
- if: matrix.group == 'receiver-0' | |
name: install IIS | |
run: Install-WindowsFeature -name Web-Server -IncludeManagementTools | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: ~1.20.12 | |
cache: false | |
- name: Cache Go | |
id: go-mod-cache | |
timeout-minutes: 25 | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~\go\pkg\mod | |
~\AppData\Local\go-build | |
key: go-build-cache-${{ runner.os }}-${{ matrix.group }}-go-${{ hashFiles('**/go.sum') }} | |
- if: matrix.group == 'cmd' | |
name: Increasing GOTEST_TIMEOUT for group 'cmd' | |
run: echo "GOTEST_TIMEOUT=1200s" >> $Env:GITHUB_ENV | |
- name: Run Unit tests | |
run: make -j2 gotest GROUP=${{ matrix.group }} | |
windows-unittest: | |
if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'renovate[bot]' && (contains(github.event.pull_request.labels.*.name, 'Run Windows') || github.event_name == 'push') }} | |
runs-on: windows-latest | |
needs: [windows-unittest-matrix] | |
steps: | |
- name: Print result | |
run: echo ${{ needs.windows-unittest-matrix.result }} | |
- name: Interpret result | |
shell: bash | |
run: | | |
if [[ success == ${{ needs.windows-unittest-matrix.result }} ]] | |
then | |
echo "All matrix jobs passed!" | |
else | |
echo "One or more matrix jobs failed." | |
false | |
fi |