Skip to content

wip 4/x

wip 4/x #3

Workflow file for this run

name: "Development"
on: [push, workflow_dispatch, workflow_call]
jobs:
format:
runs-on: ubuntu-22.04
container:
image: datadog/docker-library:dd-trace-cpp-ci
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Check format
run: bin/check-format
- name: Shellcheck
run: find bin/ -executable -type f -print0 | xargs -0 shellcheck
build-linux-cmake:
strategy:
fail-fast: false
matrix:
toolchain: ["gnu", "llvm"]
arch: ["arm64", "x64"]
include:
- runner: ubuntu-22.04-arm
arch: arm64
docker-arch: arm64
- runner: ubuntu-22.04
arch: x64
docker-arch: amd64
needs: format
runs-on: ${{ matrix.runner }}
container:
image: datadog/docker-library:dd-trace-cpp-ci-91c12776-${{matrix.docker-arch}}
environment:
name: dev
permissions:
contents: read
packages: read
env:
BUILD_DIR: .build
DD_API_KEY: ${{ secrets.DD_CI_VIS_API_KEY }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Configure
run: bin/with-toolchain ${{ matrix.toolchain }} cmake . -B .build -DCMAKE_BUILD_TYPE=Debug -DDD_TRACE_BUILD_TESTING=1
- name: Build
run: cmake --build ${BUILD_DIR} -j -v
- name: Test
run: cd ${BUILD_DIR} && test/tests -r junit -o report.xml
- name: Upload test report to Datadog
run: |
curl -L --fail "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_linux-${{ matrix.arch }}" --output "/usr/local/bin/datadog-ci" && chmod +x /usr/local/bin/datadog-ci
datadog-ci junit upload --service dd-trace-cpp .build/report.xml
build-linux-bazel:
needs: format
strategy:
fail-fast: false
matrix:
toolchain: ["gnu", "llvm"]
arch: ["amd64", "x64"]
bazelrc: [".bazelrc.absl", ".bazelrc.std"]
include:
- runner: ubuntu-22.04-arm
arch: arm64
docker-arch: arm64
- runner: ubuntu-22.04
arch: x64
docker-arch: amd64
runs-on: ${{ matrix.runner }}
container:
image: datadog/docker-library:dd-trace-cpp-ci-91c12776-${{matrix.docker-arch}}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build
run: bin/with-toolchain ${{ matrix.toolchain }} bazelisk --bazelrc=${{ matrix.bazelrc }} build dd_trace_cpp
build-windows-bazel:
needs: format
runs-on: windows-2022
defaults:
run:
shell: powershell
strategy:
matrix:
bazelrc: [".bazelrc.absl", ".bazelrc.std"]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Dependency Manager (scoop)
run: |
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Join-Path (Resolve-Path ~).Path "scoop\shims" >> $Env:GITHUB_PATH
- name: Install Dependencies
run: scoop install main/[email protected] main/ninja main/bazelisk
- name: Build
run: bazelisk.exe --bazelrc=${{ matrix.bazelrc }} build dd_trace_cpp
build-windows-cmake:
needs: format
strategy:
fail-fast: false
matrix:
arch: ["arm64", "x64"]
include:
- runner: windows-11-arm
arch: arm64
- runner: windows-2022
arch: x64
runs-on: ${{ matrix.runner }}
defaults:
run:
shell: powershell
environment:
name: dev
permissions:
contents: read
packages: read
env:
DD_API_KEY: ${{ secrets.DD_CI_VIS_API_KEY }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install Dependency Manager (scoop)
run: |
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Join-Path (Resolve-Path ~).Path "scoop\shims" >> $Env:GITHUB_PATH
- name: Install Dependencies
run: scoop install main/[email protected] main/ninja
- name: Build
run: |
& 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\Tools\\Launch-VsDevShell.ps1' -arch ${{ matrix.arch }}
cmake --preset=ci-windows -B build -DCMAKE_BUILD_TYPE=Debug .
cmake --build build -j $env:MAKE_JOB_COUNT -v
- name: Test
run: |
& 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\Common7\\Tools\\Launch-VsDevShell.ps1' -arch ${{ matrix.arch }}
.\build\test\tests.exe -r junit -o report.xml
- name: Upload test report to Datadog
run: |
Invoke-WebRequest -Uri "https://github.com/DataDog/datadog-ci/releases/latest/download/datadog-ci_win-x64" -OutFile "datadog-ci.exe"
./datadog-ci.exe junit upload --service dd-trace-cpp report.xml