Skip to content

Bump tracing from 0.1.43 to 0.1.44 #3070

Bump tracing from 0.1.43 to 0.1.44

Bump tracing from 0.1.43 to 0.1.44 #3070

# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
name: Validate Pull Request
on:
pull_request:
branches: [main, "release/**"]
merge_group:
# Cancels old running job if a new one is triggered (e.g. by a push onto the same branch).
# This will cancel dependent jobs as well, such as dep_rust and dep_fuzzing
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
jobs:
docs-pr:
runs-on: ubuntu-latest
outputs:
docs-only: ${{ steps.docs-only.outputs.result }}
steps:
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
docs:
- '**/*.md'
- '**/*.txt'
all:
- '**/*'
- uses: actions/github-script@v8
id: docs-only
with:
script: |
let docs_file_count = ${{steps.changes.outputs.docs_count}};
let all_file_count = ${{steps.changes.outputs.all_count}};
return all_file_count === docs_file_count;
result-encoding: string
# Build guests once, upload as artifacts for other jobs to download
build-guests:
needs: docs-pr
strategy:
fail-fast: true
matrix:
config: [debug, release]
uses: ./.github/workflows/dep_build_guests.yml
secrets: inherit
with:
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
config: ${{ matrix.config }}
# Code checks (fmt, clippy, MSRV) - runs in parallel with build-guests
code-checks:
needs: docs-pr
uses: ./.github/workflows/dep_code_checks.yml
secrets: inherit
with:
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
# Build and test - needs guest artifacts
build-test:
needs:
- docs-pr
- build-guests
strategy:
fail-fast: true
matrix:
hypervisor: [hyperv, 'hyperv-ws2025', mshv3, kvm]
cpu: [amd, intel]
config: [debug, release]
uses: ./.github/workflows/dep_build_test.yml
secrets: inherit
with:
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
hypervisor: ${{ matrix.hypervisor }}
cpu: ${{ matrix.cpu }}
config: ${{ matrix.config }}
# Run examples - needs guest artifacts, runs in parallel with build-test
run-examples:
needs:
- docs-pr
- build-guests
strategy:
fail-fast: true
matrix:
hypervisor: [hyperv, 'hyperv-ws2025', mshv3, kvm]
cpu: [amd, intel]
config: [debug, release]
uses: ./.github/workflows/dep_run_examples.yml
secrets: inherit
with:
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
hypervisor: ${{ matrix.hypervisor }}
cpu: ${{ matrix.cpu }}
config: ${{ matrix.config }}
# Run benchmarks - release only, needs guest artifacts, runs in parallel with build-test
benchmarks:
needs:
- docs-pr
- build-guests
strategy:
fail-fast: true
matrix:
hypervisor: [hyperv, 'hyperv-ws2025', mshv3, kvm]
cpu: [amd, intel]
uses: ./.github/workflows/dep_benchmarks.yml
secrets: inherit
with:
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
hypervisor: ${{ matrix.hypervisor }}
cpu: ${{ matrix.cpu }}
fuzzing:
needs:
- docs-pr
- build-guests
uses: ./.github/workflows/dep_fuzzing.yml
with:
targets: '["fuzz_host_print", "fuzz_guest_call", "fuzz_host_call", "fuzz_guest_estimate_trace_event", "fuzz_guest_trace"]' # Pass as a JSON array
max_total_time: 300 # 5 minutes in seconds
docs_only: ${{ needs.docs-pr.outputs.docs-only }}
secrets: inherit
spelling:
name: spell check with typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Spell Check Repo
uses: crate-ci/[email protected]
license-headers:
name: check license headers
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Check License Headers
run: ./dev/check-license-headers.sh
# Gate PR merges on this specific "join-job" which requires all other
# jobs to run first.
report-ci-status:
needs:
- docs-pr
- build-guests
- code-checks
- build-test
- run-examples
- benchmarks
- fuzzing
- spelling
- license-headers
if: always()
runs-on: ubuntu-latest
steps:
- name: calculate the correct exit status
run: jq --exit-status 'all(.result == "success" or .result == "skipped")' <<< '${{ toJson(needs) }}'