File tree 3 files changed +61
-0
lines changed
3 files changed +61
-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
+ environment :
14
+ name : ${{ github.ref_name }}
15
+ steps :
16
+ - uses : actions/checkout@v4
17
+ - name : Install Miri
18
+ run : |
19
+ rustup toolchain install nightly --component miri
20
+ rustup override set nightly
21
+ cargo miri setup
22
+ - name : Test with Miri
23
+ 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
+ changes=$( git --no-pager diff --diff-filter=ACM --name-only $GITHUB_REF )
21
+
22
+ if echo " $changes " | grep -q " $line " ; then
23
+ cd " $line " || { echo " Failed to change directory to $line " ; exit 1; }
24
+ echo " Run cargo miri test under: $( pwd) "
25
+ cargo miri test
26
+ cd -
27
+ else
28
+ echo " skip $line because the PR doesn't touch its files"
29
+ fi
30
+ done < " $filename "
You can’t perform that action at this time.
0 commit comments