From c7e0d5023d853d55cbf0b1c57fc9067bf077c2b6 Mon Sep 17 00:00:00 2001 From: Utkarsh Umesan Pillai <66651184+utpilla@users.noreply.github.com> Date: Mon, 6 May 2024 17:46:13 -0700 Subject: [PATCH] Add CI coverage for Windows (#1714) --- .github/workflows/ci.yml | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c2853fa3f9..bae1251f9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,10 +12,17 @@ jobs: test: strategy: matrix: + # test both stable and beta versions of Rust on ubuntu-latest + os: [ubuntu-latest] rust: [stable, beta] - runs-on: ubuntu-latest + # test only stable version of Rust on Windows + include: + - rust: stable + os: windows-latest + runs-on: ${{ matrix.os }} steps: - name: Free disk space + if: ${{ matrix.os == 'ubuntu-latest'}} run: | df -h sudo rm -rf /usr/local/lib/android @@ -32,7 +39,7 @@ jobs: run: rustup set profile minimal - uses: arduino/setup-protoc@v3 - name: Test - run: ./scripts/test.sh + run: bash ./scripts/test.sh lint: runs-on: ubuntu-latest steps: @@ -48,12 +55,12 @@ jobs: command: fmt args: --all -- --check - name: Lint - run: ./scripts/lint.sh + run: bash ./scripts/lint.sh external-types: strategy: matrix: example: [opentelemetry, opentelemetry-sdk, opentelemetry-otlp, opentelemetry-zipkin] - runs-on: ubuntu-latest + runs-on: ubuntu-latest # TODO: Check if this could be covered for Windows. The step used currently fails on Windows. steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly @@ -68,8 +75,9 @@ jobs: non-default-examples: strategy: matrix: + os: [ windows-latest, ubuntu-latest ] example: [opentelemetry-otlp/examples/basic-otlp] - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: @@ -83,21 +91,24 @@ jobs: cd ${{ matrix.example }} cargo build --verbose msrv: - runs-on: ubuntu-latest + strategy: + matrix: + os: [ windows-latest, ubuntu-latest ] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: submodules: true - uses: dtolnay/rust-toolchain@1.65.0 - name: Patch dependencies versions # some dependencies bump MSRV without major version bump - run: ./scripts/patch_dependencies.sh + run: bash ./scripts/patch_dependencies.sh - name: Run tests run: cargo --version && cargo test --manifest-path=opentelemetry/Cargo.toml --features trace,metrics,testing && cargo test --manifest-path=opentelemetry-jaeger/Cargo.toml --features rt-tokio && cargo test --manifest-path=opentelemetry-zipkin/Cargo.toml cargo-deny: - runs-on: ubuntu-latest + runs-on: ubuntu-latest # This uses the step `EmbarkStudios/cargo-deny-action@v1` which is only supported on Linux continue-on-error: true # Prevent sudden announcement of a new advisory from failing ci steps: - uses: actions/checkout@v4