Merge pull request #219 from malkia/renovate/google_benchmark-1.x #614
This file contains hidden or 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: otel_sdk | |
| # Example: | |
| # git tag -a v1.14.2.dll.x -m "Release 1.14.2.dll.x" && git push --tags | |
| on: | |
| push: | |
| tags: | |
| - "*" | |
| branches: | |
| - main | |
| jobs: | |
| otel_sdk_build: | |
| name: build otel_sdk | |
| runs-on: windows-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - run: systeminfo | |
| - run: Get-ChildItem env:* | Sort-Object -Property Name | Format-Table -AutoSize -Wrap | |
| - run: choco uninstall bazel --yes | |
| - uses: Cyberboss/install-winget@1c6f189175e9f015bf1aa113cd1cc6c73efb9d47 | |
| - run: winget list --accept-source-agreements --disable-interactivity | |
| - run: winget install bazelisk -r bazel --accept-package-agreements --disable-interactivity --silent | |
| - run: winget install -e LLVM.LLVM -v 20.1.0 --accept-package-agreements --disable-interactivity --silent || echo swalloing errors | |
| - uses: actions/checkout@v4 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: d:/d.vhdx | |
| enableCrossOsArchive: true | |
| key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel', 'MODULE.bazel.lock') }} | |
| restore-keys: ${{ runner.os }}-bazel- | |
| - name: mount cache disk | |
| run: | | |
| New-Item -Path d:/d -ItemType "directory" -Force -Verbose | |
| If (-not(Test-Path d:/d.vhdx)) { | |
| $vhd = New-VHD -Path d:/d.vhdx -SizeBytes 137438953472 -Dynamic -LogicalSectorSizeBytes 4096 -PhysicalSectorSizeBytes 4096 -Verbose | |
| $vhd | |
| $mnt = Mount-VHD -Path $vhd.path -NoDriveLetter -Verbose -PassThru | Out-Host | |
| $mnt | |
| $disk = Get-VHD -Path $vhd.path -Verbose | |
| $disk | |
| Initialize-Disk $disk.Number -Verbose | |
| $part = New-Partition -DiskNumber $disk.Number -UseMaximumSize -Verbose | |
| $part | |
| $vol = Format-Volume -FileSystem ReFS -Partition $part -Verbose | |
| $vol | |
| Dismount-VHD -Path d:/d.vhdx -Verbose | |
| } | |
| $part = Mount-VHD -Path d:/d.vhdx -NoDriveLetter -Verbose -PassThru | Get-Disk | Get-Partition | Where-Object -Not IsHidden | |
| $part | |
| $part | Add-PartitionAccessPath -AccessPath d:/d -Verbose | |
| ls d:/d.vhdx | |
| echo empty > d:\d\empty.txt | |
| cmd /c dir d:\d || echo "swallowing errors" | |
| refsutil dedup d:\d /s | |
| - name: build minimal otel_sdk | |
| run: | | |
| echo "build --disk_cache=d:/d" >> ../top.bazelrc | |
| echo "common --repository_cache=d:/r" >> ../top.bazelrc | |
| echo "startup --output_user_root=d:/b" >> ../top.bazelrc | |
| ./otel_sdk_build.cmd minimal | |
| ./otel_sdk_build.cmd shutdown | |
| - run: | | |
| cmd /c dir d:\d || echo "swallowing errors" | |
| Dismount-VHD -Path "d:/d.vhdx" -Verbose | |
| ls d:/d.vhdx | |
| Resize-VHD -Path "d:/d.vhdx" -ToMinimumSize -Verbose -ErrorAction SilentlyContinue | |
| ls d:/d.vhdx | |
| - uses: actions/cache/save@v4 | |
| # Don't update cache on releases | |
| if: ${{ ! startsWith(github.ref, 'refs/tags/') }} | |
| env: | |
| ZSTD_CLEVEL: 1 # 1 (fastest) .. 19 (slowest) | |
| with: | |
| path: d:/d.vhdx | |
| enableCrossOsArchive: true | |
| key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'MODULE.bazel', 'MODULE.bazel.lock') }} | |
| - run: Mount-VHD -Path "d:/d.vhdx" -NoDriveLetter -Verbose -PassThru | Out-Host | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: tracing-profiles | |
| path: ./*.tracing.json | |
| if-no-files-found: warn | |
| - name: test and build otel_sdk.zip | |
| run: | | |
| ./otel_sdk_build.cmd test | |
| ./otel_sdk_build.cmd zip | |
| ./otel_sdk_build.cmd shutdown | |
| ls d:/d.vhdx | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ ! startsWith(github.ref, 'refs/tags/') }} | |
| with: | |
| name: sdk | |
| path: ./otel_sdk.zip | |
| if-no-files-found: warn | |
| - name: release otel_sdk.zip | |
| if: ${{ startsWith(github.ref, 'refs/tags/') }} | |
| uses: ncipollo/release-action@v1 | |
| with: # skipping as test nodll ./0.nodll.tracing.json | |
| artifacts: | | |
| ./otel_sdk.zip | |
| ./1.all.tracing.json | |
| ./2.dbg.tracing.json | |
| ./3.fastbuild.tracing.json | |
| ./4.opt.tracing.json | |
| ./5.pkg.tracing.json |