File tree 3 files changed +66
-0
lines changed
3 files changed +66
-0
lines changed Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
1
+ # .miri_allowlist use hash character to lead a comment
2
+ # each line will be treated as a valid relative path to enter and run 'cargo miri test',
3
+ # if it contains some changed files(added, copied and modified, deletion is excluded) in the PR.
4
+ #
5
+ # note that each line should end up with a newline character,
6
+ # otherwise the ci shell will skip the last line
7
+ iceoryx2-bb/testing
8
+ # this line is put here to ensure each file path contains a newline char, don't remove it
Original file line number Diff line number Diff line change
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
+
13
+ filename=" .miri_allowlist"
14
+ while IFS= read -r line; do
15
+ if [[ " $line " == \# * ]]; then
16
+ continue
17
+ fi
18
+
19
+ # set contains all changed files comparing to the $GITHUB_REF
20
+ # if the event is
21
+ changes=$( git --no-pager diff --diff-filter=ACM --name-only $TARGET_BRANCH_COMMIT )
22
+ if $changes == " " ; then
23
+ # when it's not a pull request,
24
+ # the $GITHUB_HEAD_REF will be empty so changes is empty as well,
25
+ # skip running 'cargo miri test' as it doesn't make sense.
26
+ exit 0
27
+ fi
28
+
29
+ if echo " $changes " | grep -q " $line " ; then
30
+ cd " $line " || { echo " Failed to change directory to $line " ; exit 1; }
31
+ echo " Run cargo miri test under: $( pwd) "
32
+ cargo miri test
33
+ cd -
34
+ else
35
+ echo " skip $line because the PR doesn't touch its files"
36
+ fi
37
+ done < " $filename "
You can’t perform that action at this time.
0 commit comments