Skip to content

log: mw_log implementation (2) #164

log: mw_log implementation (2)

log: mw_log implementation (2) #164

Workflow file for this run

# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
name: cargo build, test, coverage and miri report
on:
push:
branches: [main, development]
pull_request:
branches: [main, development]
types: [opened, ready_for_review, reopened, synchronize]
env:
CARGO_TERM_COLOR: always
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
cargo-checks:
#permissions for docs deployment
permissions:
contents: write
pages: write
id-token: write
runs-on: ${{ vars.REPO_RUNNER_LABELS && fromJSON(vars.REPO_RUNNER_LABELS) || 'ubuntu-latest' }}
timeout-minutes: 45 # minutes is the maximum allowed for a cold run
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Rust Build Environment
uses: ./.github/actions/setup-rust-build
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# ---------- BUILD ----------
- name: Cargo build
run: cargo build --verbose
# ---------- TARPAULIN(TEST + COVERAGE) ----------
- name: Run tests under coverage
run: cargo +nightly tarpaulin --version 0.32.7 --skip-clean --out Html --verbose --no-dead-code --engine llvm --all-features
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: tarpaulin-report.html
# ---------- MIRI ----------
- name: Install nightly + miri (minimal profile)
uses: actions-rs/toolchain@v1
if: github.event.pull_request.draft == false
with:
toolchain: nightly-2025-12-15
profile: minimal
components: miri
override: true
- name: Prefetch crates for nightly
if: github.event.pull_request.draft == false
run: cargo +nightly-2025-12-15 fetch --locked
- name: Purge Miri artifacts
if: github.event.pull_request.draft == false
run: |
rm -rf target/miri
rm -rf ~/.cache/miri
- name: Prefetch and build dependencies for Miri
if: github.event.pull_request.draft == false
run: cargo +nightly-2025-12-15 miri setup
- name: Run Miri and save report
if: github.event.pull_request.draft == false
env:
CARGO_INCREMENTAL: "0" # turn off incremental
run: |
set -o pipefail
cargo +nightly-2025-12-15 miri test --workspace 2>&1 | tee miri_report.txt