Skip to content

crashtracker: verify unix socket peer uid before parsing reports #14620

crashtracker: verify unix socket peer uid before parsing reports

crashtracker: verify unix socket peer uid before parsing reports #14620

Workflow file for this run

name: Miri test
on:
pull_request:
branches-ignore:
- release
push:
branches:
- main
- mq-working-branch-*
schedule:
- cron: '0 6 * * *'
jobs:
setup:
runs-on: ubuntu-latest
outputs:
crates: ${{ steps.set-crates.outputs.crates }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
fetch-depth: 0
- name: Get crates report
id: changed-crates
uses: ./.github/actions/crates-reporter
- name: Set crates to run Miri on
id: set-crates
env:
CHANGED_CRATES_STATUS: ${{ steps.changed-crates.outputs.status }}
CHANGED_CRATES: ${{ steps.changed-crates.outputs.crates }}
AFFECTED_CRATES: ${{ steps.changed-crates.outputs.affected_crates }}
run: |
if [[ "$CHANGED_CRATES_STATUS" == "success" ]]; then
echo "This is a pull request event, running Miri on changed and affected crates"
echo "Changed crates: $CHANGED_CRATES"
echo "Affected crates: $AFFECTED_CRATES"
# create a list of crates from the affected crates
CRATES=$(echo "$AFFECTED_CRATES" | jq -r 'map("-p " + .) | join(" ")')
[[ -z "$CRATES" || "$CRATES" == '""' ]] && CRATES=""
else
echo "This is a push event, running Miri on all crates"
CRATES="--workspace"
fi
echo "Crates: $CRATES"
echo "crates=$CRATES" >> $GITHUB_OUTPUT
run-miri:
runs-on: ubuntu-latest
strategy:
matrix:
partition: [1, 2, 3, 4, 5]
needs: setup
if: ${{ needs.setup.outputs.crates != '' }}
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
PROPTEST_CASES: 1
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
submodules: recursive
- name: Set up Rust
run: |
set -e
rustup set profile minimal
rustup toolchain install nightly-2026-02-08 --component miri
rustup default nightly-2026-02-08
- uses: taiki-e/install-action@2c41309d51ede152b6f2ee6bf3b71e6dc9a8b7df # 2.49.27
with:
tool: nextest@0.9.96
- name: Cache [rust]
uses: Swatinem/rust-cache@f13886b937689c021905a6b90929199931d60db1 # 2.8.1
with:
cache-targets: true # cache build artifacts
cache-bin: true # cache the ~/.cargo/bin directory
- run: MIRIFLAGS="-Zmiri-disable-isolation" cargo miri nextest run ${{ needs.setup.outputs.crates }} --partition count:${{ matrix.partition }}/5
# We need to disable isolation because
# "unsupported operation: `clock_gettime` with `REALTIME` clocks not available when isolation is enabled"