Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#5365 Update ci-aarch64-native workflow with new runner #6549

Merged
merged 18 commits into from
Feb 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
a9c6f4b
Update ci-aarch64-native workflow with new runner
spcaipers-arm Sep 13, 2023
9e9ea78
Merge remote-tracking branch 'upstream/master' into i5365-aarch64-wor…
joshua-warburton Jan 17, 2024
cc23878
Fix failing tests by exluding them from optimisation
joshua-warburton Jan 17, 2024
6e32a2f
Fix reuse of variables
joshua-warburton Jan 25, 2024
cbc2917
Fix test list
joshua-warburton Jan 25, 2024
c8b4aff
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Jan 30, 2024
61ded0c
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Jan 30, 2024
fc8c2cd
Change name of job to AArch64-native
joshua-warburton Jan 30, 2024
7bcc012
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Jan 31, 2024
3c19116
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Feb 5, 2024
63d9127
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Feb 5, 2024
07ebde8
Add failing sve tests to ignore
joshua-warburton Feb 6, 2024
8815e0b
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Feb 6, 2024
473b384
update job names
joshua-warburton Feb 6, 2024
26cc06e
Change agent names
joshua-warburton Feb 6, 2024
331e3dc
Merge remote-tracking branch 'origin/upstream-master' into i5365-aarc…
joshua-warburton Feb 9, 2024
51a184c
Add static-signal as an expected fail
joshua-warburton Feb 9, 2024
59a44cb
Merge branch 'master' into i5365-aarch64-workflow-add-sve-runner
joshua-warburton Feb 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .github/workflows/ci-aarch64-native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@

# Github Actions workflow for aarch64 Continuous Integration testing.

name: ci-aarch64-native

name: ci-aarchxx
on:
# Run on pushes to master and on pull request changes, including from a
# forked repo with no "push" trigger, while avoiding duplicate triggers.
Expand All @@ -46,8 +45,13 @@ on:
workflow_dispatch:

jobs:
aarch64-native:
runs-on: [self-hosted, linux, ARM64]
aarch64-precommit:
strategy:
fail-fast: false
matrix:
# This job will run in parallel.
os: [ubuntu-20-arm64, ubuntu-20-arm64-sve]
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
Expand Down
30 changes: 28 additions & 2 deletions suite/runsuite_wrapper.pl
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@
my $issue_no = "";
my %ignore_failures_32 = ();
my %ignore_failures_64 = ();
my %ignore_failures_sve = ();
if ($^O eq 'cygwin' ||
$^O eq 'MSWin32') {
# FIXME i#2145: ignoring certain Windows CI test failures until
Expand Down Expand Up @@ -348,10 +349,33 @@
'code_api|tool.drcacheoff.rseq' => 1, # i#5734
'code_api|tool.drcacheoff.windows-zlib' => 1, # i#5507
);
# FIXME i#5365: fix flaky AArch64 tests running on SVE hardware.
# Note that apart from tool.drcachesim.scattergather-aarch64, these
# have NOT been built with SVE compiler options and are seen to
# fail intermittently on SVE hardware.
%ignore_failures_sve = ('code_api|tool.drcacheoff.burst_threads_counts' => 1,
'code_api|tool.drcachesim.scattergather-aarch64' => 1, # i#3320
'code_api|tool.drcachesim.threads-with-config-file' => 1, # i#3320
'code_api|tool.drcachesim.coherence' => 1, # i#3320
'code_api|tool.drcachesim.miss_analyzer' => 1, # i#3320
'code_api|tool.drcacheoff.burst_threads' => 1,
'code_api|tool.drcacheoff.burst_threads_counts' => 1,
'code_api|tool.drcacheoff.burst_threadL0filter' => 1,
'code_api|tool.drcacheoff.burst_threadfilter' => 1,
'code_api|api.static_signal' => 1,
);
# Establish if tests are running on SVE hardware.
system('cat /proc/cpuinfo | grep Features | head -1 | grep sve > /dev/null');
my $is_sve = ($? >> 8 == 0) ? 1 : 0;
if ($is_32) {
$issue_no = "#2416";
} else {
$issue_no = "#2417";
if ($is_sve) {
$issue_no = "#5365";
}
else {
$issue_no = "#2417";
}
}
} elsif ($is_x86_64 && ($ENV{'DYNAMORIO_CROSS_AARCHXX_LINUX_ONLY'} eq 'yes') && $args =~ /64_only/) {
# These AArch64 cross-compiled tests fail on x86-64 QEMU but pass
Expand Down Expand Up @@ -438,7 +462,9 @@
if (($is_32 && ($ignore_failures_32{$test} ||
$ignore_failures_32{$test_base_name})) ||
(!$is_32 && ($ignore_failures_64{$test} ||
$ignore_failures_64{$test_base_name}))) {
$ignore_failures_64{$test_base_name} ||
$ignore_failures_sve{$test} ||
$ignore_failures_sve{$test_base_name}))) {
$lines[$j] = "\t(ignore: i" . $issue_no . ") " . $lines[$j];
$num_ignore++;
} elsif ($test =~ /_FLAKY$/) {
Expand Down
8 changes: 4 additions & 4 deletions suite/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,7 @@ endfunction(append_link_flags)
set(sve_tests
simple_app api.ir api.ir_negative api.ir_v81 api.ir_v82 api.ir_v83 api.ir_v84
api.ir_v85 api.ir_v86 api.ir_sve api.ir_sve2 api.ir-static api.drdecode
common.broadfun common.fib common.nzcv common.getretaddr common.segfault
common.broadfun common.nzcv common.getretaddr common.segfault
common.allasm_aarch64_isa common.allasm_aarch64_cache allasm_aarch64_prefetch
allasm_aarch64_flush libutil.frontend_test libutil.drconfig_test
client.call-retarget client.modules client.annotation-concurrency
Expand All @@ -511,16 +511,16 @@ set(sve_tests
api.static_reattach_client_flags api.static_crash api.static_sideline_FLAKY
api.static_symbols api.static_maps_mixup_yesvars
api.static_maps_mixup_novars_FLAKY api.thread_churn client.app_args
client.destructor builtin_prefetch tool.multiproc stride_benchmark
tool.fib_plus tool.heap_test tool.drcacheoff.gencode linux.eintr
client.destructor builtin_prefetch stride_benchmark
tool.heap_test tool.drcacheoff.gencode
linux.execve-sub linux.execve-null linux.execve-config linux.execv
linux.execve-rec linux.exit linux.fork linux.fork-sleep linux.infinite
linux.longjmp linux.prctl linux.mmap linux.zero-length-mem-ranges
linux.sigaction linux.syscall_pwait linux.sigaction_nosignals linux.thread
linux.threadexit linux.threadexit2 linux.signalfd linux.alarm
linux.signal_racesys linux.signal_pre_syscall linux.bad-signal-stack
linux.sigsuspend linux.sigmask linux.mangle_asynch linux.app_tls
linux.readlink linux.fib-static linux.fib-pie linux.vfork
linux.readlink linux.vfork
pthreads.pthreads pthreads.pthreads_exit pthreads.ptsig
pthreads.pthreads_fork_FLAKY security-linux.trampoline linux.infloop
linux.rseq_disable security-common.codemod security-common.ret_noncall_trace
Expand Down
Loading