Skip to content

Commit 47176b4

Browse files
committed
[eclipse-iceoryx#60] integrate miri in ci with an allow list
1 parent aec86ae commit 47176b4

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

.github/workflows/miri-check.yml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Miri
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main, release* ]
8+
9+
jobs:
10+
miri:
11+
name: "Miri"
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Install Miri
16+
run: |
17+
rustup toolchain install nightly --component miri
18+
rustup override set nightly
19+
cargo miri setup
20+
- name: Test with Miri
21+
run: ./internal/scripts/ci_run_miri.sh

.miri_allowlist

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# .miri_allowlist use hash character to lead a comment
2+
# each line will be treated as a valid path to enter and run 'cargo miri test'
3+
# note that each line should end up with a newline character,
4+
# otherwise the ci shell will skip the last line
5+
./iceoryx2-bb/testing

internal/scripts/ci_run_miri.sh

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright (c) 2024 Contributors to the Eclipse Foundation
2+
#
3+
# See the NOTICE file(s) distributed with this work for additional
4+
# information regarding copyright ownership.
5+
#
6+
# This program and the accompanying materials are made available under the
7+
# terms of the Apache Software License 2.0 which is available at
8+
# https://www.apache.org/licenses/LICENSE-2.0, or the MIT license
9+
# which is available at https://opensource.org/licenses/MIT.
10+
#
11+
# SPDX-License-Identifier: Apache-2.0 OR MIT
12+
filename=".miri_allowlist"
13+
while IFS= read -r line; do
14+
if [[ "$line" == \#* ]]; then
15+
continue
16+
fi
17+
if [[ -d $line ]]; then
18+
cd "$line" || { echo "Failed to change directory to $line"; exit 1; }
19+
echo "Run cargo miri test under: $(pwd)"
20+
cargo miri test
21+
cd -
22+
else
23+
echo "$line is not a valid directory."
24+
fi
25+
done < "$filename"

0 commit comments

Comments
 (0)