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

[GSOC] udp: Add support for checkpoint/restore UDP socket's queues #1571

Draft
wants to merge 322 commits into
base: criu-dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
322 commits
Select commit Hold shift + click to select a range
1b3274a
ci: Enable compel testing
rst0git Jan 11, 2021
cf0337c
compel: Fix missing loff_t in Alpine
rst0git Jan 11, 2021
0e7321c
compel/test: Fix warn_unused_result
rst0git Jan 12, 2021
4178bea
servicefd: don't move service fds in case they remain in the same place
Snorch Dec 15, 2020
3f047f1
util: move open_proc_self_fd to service_fd
Snorch Nov 10, 2020
56853fb
memfd: use PROC_SELF instead of getpid in __open_proc
Snorch Nov 6, 2020
8112e76
restore: warning: Value stored to 'ret' is never read
adrianreber Oct 13, 2020
3dc47b2
coverity: get_service_fd() is passed to a parameter that cannot be ne…
adrianreber Oct 14, 2020
41b4867
dump: at exit do not call timing_stop if stats are not initialized
valeriyvdovin Aug 26, 2020
504c032
mount: adjust log level for get_clean_mnt
azhadchenko Jul 3, 2020
d3b1d6e
mount: adjust log level for mnt_is_dir
azhadchenko Jul 3, 2020
2cf09cc
fsnotify: rework redundant code
azhadchenko Jul 3, 2020
11b3a1a
workflows/stale: Don't close issue that has labels 'new feature' or '…
avagin Jan 26, 2021
9807413
ci: move vagrant test to cirrus ci
adrianreber Nov 5, 2020
af1103f
zdtm: cleanup thread-bomb test error handling and printing
Snorch Jan 20, 2021
7766f12
ci: run aarch64 compile tests on Drone
adrianreber Nov 12, 2020
76f9ccc
ci: also use clang for compel-host-bin
adrianreber Dec 29, 2020
90f043d
namespaces: handle errors of snprintf
avagin Jan 21, 2021
7d63cea
util: zero the events pointer to avoid its double free
avagin Jan 21, 2021
098d4cc
zdtm: handle a case when a test vma is merged with another one
avagin Jan 27, 2021
d4b0f0f
ci: fix syntax error in stale.yml
adrianreber Jan 29, 2021
9ec1f1a
ci: upgrade vagrant and Fedora version
adrianreber Jan 29, 2021
8c89fbd
ci: skip bpf tests on vagrant
adrianreber Jan 31, 2021
442dc65
ci: factor out Fedora Rawhide CI setup
adrianreber Jan 31, 2021
41efd59
ci: move Fedora Rawhide based tests away from Travis
adrianreber Jan 31, 2021
b62707b
Tell podman to use vfs as storage-driver
adrianreber Jan 29, 2021
2cb1156
vdso: fix segmentation fault caused by char pointer array
anatasluo Jan 29, 2021
5792612
ci: move asan and image streamer test to github
adrianreber Feb 1, 2021
10cb852
README.md: remove trailing whitespaces
adrianreber Feb 1, 2021
4c3f324
README.md: remove unused badges; add a few new badges
adrianreber Feb 1, 2021
81c3c97
ci: move compat tests to Github Actions
adrianreber Feb 1, 2021
7a64074
dump: dump has to fail if there is locks and --file-locks isn't set
avagin Feb 1, 2021
3fb8cd3
test/zdtm: check that locks are not dumped if --file-locks isn't set
avagin Feb 1, 2021
042560a
ci: move coverage run to github
adrianreber Feb 1, 2021
9546f39
files: Don't forget on stripping deleted postfix on linked files
azhadchenko Jan 25, 2021
8d92d46
files-reg: rework strip_deleted
azhadchenko Jan 11, 2021
a4c000e
sk-unix: make criu respect existing files while restoring ghost unix …
azhadchenko Jan 11, 2021
82f2033
sk-unix: rework unix_resolve_name
azhadchenko Nov 9, 2020
903b903
zdtm: add fifo upon unix socket test case
azhadchenko Sep 17, 2020
1b5dbe5
zdtm: add second fifo_upon_unix test
azhadchenko Nov 9, 2020
42c2112
seccomp: initialize seccomp_mode in all cases
nviennot Feb 9, 2021
a277c84
ci: use runc instead of crun for podman tests
adrianreber Feb 17, 2021
2692215
file-lock: Add space in error message
rst0git Feb 19, 2021
89aa874
javaTests: Add --file-locks option
rst0git Feb 19, 2021
7a8f426
test: Reduce verbosity of mvn output
rst0git Feb 19, 2021
6110236
zdtm: Add javaTests output to .gitignore
rst0git Feb 19, 2021
42171ca
test: fix test compilation on rawhide
adrianreber Feb 17, 2021
950a88c
bug: add __builtin_unreachable in BUG_ON_HANDLER
avagin Feb 24, 2021
3397ac0
sk-unix: check whether a socket name is NULL before printing it
avagin Feb 24, 2021
ab395e4
plugin: check for plugin path truncation
Snorch Feb 25, 2021
168668e
ci: fix Fedora rawhide CI failures
adrianreber Mar 1, 2021
e0d4aef
github/stale: separate labels with commas without following spaces
avagin Mar 2, 2021
f8cf071
ci/compat: Check if tests are 32-bit ELFs
dima-anet Feb 26, 2021
84be304
x86: Use PTRACE_GET_THREAD_AREA instead of sys_get_thread_area()
dima-anet Nov 12, 2020
e4e58a8
namespaces: properly handle errors of snprintf
Snorch Feb 25, 2021
2fdc094
x86/compel/fault-inject: Add a fault-injection for corrupting extende…
dima-anet Feb 25, 2021
6e1cd5b
zdtm/fpu00: Simplify ifdeffery
dima-anet Feb 25, 2021
8394062
zdtm/fpu03: Add a test to check fpu C/R in a thread
dima-anet Feb 25, 2021
e9b1e0b
compel: Store extended registers set in the thread context
dima-anet Feb 26, 2021
e07e5ee
compel: Provide compel_set_task_ext_regs()
dima-anet Feb 26, 2021
24f57c6
fault-injection: Run fpu corruption tests
dima-anet Feb 26, 2021
fc1fefd
s390: Purge stale comment
dima-anet Feb 26, 2021
6569412
Revert "compel: add -ffreestanding to force gcc not to use builtin me…
dima-anet Feb 26, 2021
447b3cf
zdtm/fpu03: Add .desc file to omit running on !x86
dima-anet Mar 9, 2021
1c1949a
test: move vt test to minor 65 on s390x
adrianreber Mar 4, 2021
77968d4
pstree: check for pid collision before switching to new sid/gid
Snorch Mar 1, 2021
b51fb87
ci: move Travis CI Docker tests to GitHub Actions
rst0git Feb 3, 2021
19be9ce
docker-test: use containerd v1.5.0-beta.0
rst0git Feb 3, 2021
fddf3a7
docker-test: set log file path
rst0git Feb 3, 2021
ca2d273
lib/cli.py: Open out file as a binary
dima-anet Mar 3, 2021
cdfca86
ci: remove '-Wl,-z,now' workaround
adrianreber Mar 10, 2021
8017b6a
lib: fix recode errors seen in Jenkins
adrianreber Mar 10, 2021
9f2a696
ci: run recode tests on more input files
adrianreber Mar 10, 2021
b7d2c2a
ci: remove ccache setup
adrianreber Mar 10, 2021
628ff18
ci: run zdtm/transition/pid_reuse with pre-dumps in ci tests
ZeyadYasser Jan 21, 2021
42df849
criu-ns: Convert indentation to spaces
rst0git Dec 21, 2020
a6659c3
criu-ns: Remove space before/after bracket
rst0git Dec 21, 2020
c7d7608
criu-ns: Extract mount new /proc into a function
rst0git Dec 21, 2020
097834d
criu-ns: Extract wait for process into a function
rst0git Dec 21, 2020
b790ce2
criu-ns: Use documentation strings
rst0git Dec 21, 2020
ab9418d
criu-ns: Remove unused _umount
rst0git Dec 21, 2020
44a1d32
criu-ns: Extract set namespace functions
rst0git Dec 22, 2020
b31d3ad
criu-ns: Close namespace fd before raise
rst0git Jan 17, 2021
6055d0b
criu-ns: Pass arguments to run_criu()
rst0git Dec 22, 2020
719c5b0
criu-ns: Handle restore-detached option
rst0git Dec 22, 2020
66f5ab4
criu-ns: Add unsupported msg for restore-sibling
rst0git Dec 22, 2020
d49ace9
criu-ns: Merge comparisons with 'in'
rst0git Dec 22, 2020
02b0e85
lib: fromstring() and tostring() are deprecated
adrianreber Mar 15, 2021
c8beca6
lib: correctly handle padding of dump images
adrianreber Mar 15, 2021
d334ba3
pstree: don't change sid/gid-s if current sid/gid is the same
Snorch Mar 17, 2021
9b0d752
Use a real VM instead of a privileged container
fkorotkov Mar 17, 2021
ca03208
ci: move CentOS 8 based test to Cirrus
adrianreber Mar 19, 2021
49b9cff
lib: fix crit-recode fix for Python 2
adrianreber Mar 20, 2021
4806058
cr-service: fix CRIU_REQ_TYPE__FEATURE_CHECK RPC request
ZeyadYasser Mar 16, 2021
9edf531
criu: Throw error when parent path is provided but invalid
minhbq-99 Mar 13, 2021
840dc0b
criu: Replace faccessat with fstatat when using AT_SYMLINK_NOFOLLOW flag
minhbq-99 Mar 30, 2021
f9616e9
lib: correctly handle stdin/stdout (Python 3)
adrianreber Mar 10, 2021
35a4761
lib: print nice error if crit gets wrong input
adrianreber Mar 15, 2021
e65a56a
lib: also handle extra pipe data correctly
adrianreber Mar 23, 2021
7accc44
test: fix crit test and extend it
adrianreber Mar 15, 2021
38a9cbe
ci: enable crit tests in CI
adrianreber Mar 15, 2021
b98bbda
images: re-license as Expat license (so-called MIT)
adrianreber May 8, 2020
901ea2b
scripts/build: drop obsolete ENV1 variable
rst0git Apr 12, 2021
e49ce51
net: allow restoring of precreated veth devices
Mar 15, 2021
32b7243
tiny fix on function dump_empty_fs
Apr 13, 2021
66a259f
Dockerfile: use 'git clean' before build
rst0git Apr 9, 2021
2d189ca
Dockerfile: re-build criu after clean
rst0git Apr 10, 2021
31b6447
Dockerfile: add missing test dependencies
rst0git Apr 10, 2021
2eec2e9
docker-test: use host cgroup & network ns
rst0git Apr 10, 2021
9314efc
Makefile: update excluded tests for docker-test
rst0git Apr 10, 2021
ebb3e03
Makefile: docker-test don't use interactive tty
rst0git Apr 12, 2021
9bef478
ci: exclude lazy-thp for remote pages over tls
rst0git Feb 28, 2021
6ead08e
kerndat: check whether IFLA_NEW_IFINDEX is supported
avagin Apr 20, 2021
5e9f2d4
test/zdtm: check that restore can handle precreated veth devices
avagin Apr 15, 2021
e6bb997
Drop \n from pr_perror
kolyshkin Apr 22, 2021
96dbfc0
criu: don't use errno for pr_error
kolyshkin Apr 22, 2021
13bf2d6
test/zdtm: don't use pr_perror where errno is unset
kolyshkin Apr 22, 2021
998c37d
test/zdtm: don't use errno for pr_perror
kolyshkin Apr 22, 2021
ca08482
test/zdtm: don't use \n with fail()
kolyshkin Apr 22, 2021
bb56a6f
test/zdtm: don't use %m with fail
kolyshkin Apr 22, 2021
43d4a98
test/zdtm: don't pass errno to fail()
kolyshkin Apr 22, 2021
b5bbfdc
Makefile: amend lint with pr_perror/fail checks
kolyshkin Apr 22, 2021
76ffd8d
scripts: fix shellcheck warnings
kolyshkin Apr 22, 2021
117e8f6
criu/mount.c: fix \n in pr_debug
kolyshkin Apr 22, 2021
e79d8f8
test/others/bers: use pr_perror
kolyshkin Apr 23, 2021
0959fce
test/zdtm: pr_err / pr_perror fixes
kolyshkin Apr 23, 2021
670210a
criu: make sure to use pr_perror to show errno
kolyshkin Apr 23, 2021
5115b63
Whitespace at EOL cleanup and check
kolyshkin Apr 23, 2021
f1cc40c
criu: end pr_(err|warn|msg|info|debug) with \n
kolyshkin Apr 23, 2021
73d76d4
restore: fix error message when fork fails
nviennot May 8, 2020
fbff0e9
net: add a #define for increased compatiblity with old distributions
nviennot Apr 23, 2021
6ac4c93
logging: pr_perror() -> pr_msg() when execvp fails in action scripts …
nviennot Apr 23, 2021
ea8921b
Allow systemcfg proc file to be dumped
zl-wang May 7, 2021
8d07cda
mips: coding style fixes
rst0git Apr 30, 2021
b692641
mips: remove empty gitignore
rst0git May 2, 2021
266cc6a
tools.mk: Use Python 3 by default
rst0git Apr 30, 2021
c455c46
lsm: handle half initialized SELinux setups
adrianreber Apr 27, 2021
cd13e44
net: skip iptables dump if it has nft backend and nft dump is supported
mihalicyn Apr 11, 2021
16a8962
zdtm: skip static/netns-nft test if nftables feature isn't supported
mihalicyn Apr 20, 2021
30bcca7
zdtm: add combined nftables/iptables netns-nft-ipt test
mihalicyn Apr 20, 2021
08b98cf
ci: remove hack for netns-nft zdtm test
mihalicyn Apr 20, 2021
5bc6051
sk-unix: ghost: fix deadlock between peer_fle->stage and fds wake up
mihalicyn Aug 30, 2020
c20d7a5
zdtm: add sk-unix-dgram-ghost test case
mihalicyn Mar 20, 2020
38012e5
test: create new tls certificates
adrianreber May 8, 2021
8063eb8
parasite: don't block SIGTRAP
avagin May 20, 2021
00dbc42
test/zdtm: check that a penging SIGTRAP handled properly
avagin May 20, 2021
d556ebf
lib/cli.py: Open explore file as a binary
rst0git May 24, 2021
2402192
test/others/crit: add test for 'x'
rst0git May 25, 2021
cfdeac4
kerndat: Handle non-root mode when checking uffd
nithin-jaikar May 21, 2021
ff922a1
criu: check if pidfd_open syscall is supported
ZeyadYasser Feb 26, 2021
cf9616c
criu: check if pidfd_getfd syscall is supported
ZeyadYasser Feb 26, 2021
1273ffd
cr-service: add pidfd_store_sk option to rpc.proto
ZeyadYasser Mar 16, 2021
ef59abf
cr-check: add ability to check if pidfd_store feature is supported
ZeyadYasser Mar 16, 2021
e1ccdaf
criu: add pidfd based pid reuse detection for RPC clients
ZeyadYasser Mar 16, 2021
80ae09d
zdtm: add --pidfd-store option in RPC mode
ZeyadYasser Apr 20, 2021
d34c7ce
zdtm: add pidfd store based pid reuse test
ZeyadYasser Apr 20, 2021
dee4472
mem/pidfd: fix poll retry error checking
Snorch Jun 1, 2021
9292a90
ksigset: fix a typo in ksigdelset
avagin Jun 2, 2021
b59a0cb
test: add a test to check that sigtrap handlers are restored
avagin Jun 2, 2021
26a05ff
test/others: drop '_exit' function
rst0git Jun 9, 2021
7970fbe
test/others: refactor loop process
rst0git Jun 9, 2021
e6faf68
ci: no longer avoid overlayfs
adrianreber Jun 13, 2021
1407614
kdat: make uffd_open return errno from syscall separately
Snorch May 31, 2021
99d9398
criu(8): document --join-ns option
rst0git May 31, 2021
6d059ff
github: Add templates for new issues and pull requests
Snorch May 29, 2021
15ed740
cr_options: handle the case where __dest == __src in SET_CHAR_OPTS
May 28, 2021
41ab15c
ci: update docker test matrix
rst0git Jun 16, 2021
ea07931
test: skip time namespaced tests on <= 5
adrianreber Jun 16, 2021
7686b93
zdtm/tun_ns: add per-test dependencies
rst0git May 30, 2021
185036b
docker-test: use latest containerd release
rst0git Jun 17, 2021
d89f7da
build: respect $PKG_CONFIG settings
vapier Jun 16, 2021
7cfe7b4
crtools: improve error handling on signal setting
ivalery111 Jun 14, 2021
5e81dca
add PKG_CONFIG default in a few more places
vapier Jun 18, 2021
7bd807f
scripts/vagrant: Use Fedora 34
rst0git May 28, 2021
89787bf
scripts/vagrant: Use vagrant 2.2.16
rst0git May 28, 2021
f10b887
zdtm: allow ignore taint via environment variable
adrianreber Jun 14, 2021
2a89750
ci: disable -x during print_env()
adrianreber Jun 14, 2021
3518b45
ci: switch CentOS 7 test to Cirrus CI
adrianreber Jun 14, 2021
46bb2d7
ci: remove old workarounds
adrianreber Jun 15, 2021
d46e20e
ci: disable some tests on CentOS 7
adrianreber Jun 15, 2021
178c902
bfd: loop through read()/write() when the action is incomplete
nviennot Jun 18, 2021
0622006
criu: add cleanup_free attribute
adrianreber Jun 23, 2021
c627d0c
config: make configuration file parser more robust
adrianreber Jun 15, 2021
c98b1d9
test: add tests for configuration file parsing
adrianreber Jun 16, 2021
efe927f
criu: add unit testing for config file parser
adrianreber Jun 22, 2021
a226a1b
test: remove exec test
adrianreber Jun 20, 2021
9818698
zdtm: add network namespace locking test
ZeyadYasser Apr 29, 2021
056e301
Remove unnecessary whitespace
adrianreber Jun 8, 2021
a0ab129
Enable changing of mount context on restore
adrianreber Jun 8, 2021
cbaa599
Add test for new --lsm-mount-context option
adrianreber Jun 8, 2021
402bbac
pycrit: fix the broken of cli the `crit show xxx.img`
Jun 25, 2021
e12ff27
Keep inherit-fd strings alive until task restore
ymanton Jun 22, 2021
ec1f919
ci: fix mips64el-cross test
adrianreber Jul 1, 2021
8310b0b
test/jenkins: fix netns_lock test multiple iterations failure
ZeyadYasser Jul 1, 2021
15266a4
test/ci: sync netns_lock test and its --post-start hook
ZeyadYasser Jun 30, 2021
3bc9f88
pidfd_store: move pidfd_store to a separate file
ZeyadYasser Jun 25, 2021
ce2d037
pidfd_store: tidy up interface and hide unneeded details
ZeyadYasser Jun 25, 2021
ee48929
cr-service: move pidfd_store initialization to cr-service
ZeyadYasser Jun 25, 2021
47feec9
crit: fix error on memfd files parsing
Snorch Jul 2, 2021
de0311d
ci: combine cross compile container definitions
adrianreber Jul 5, 2021
ed52ba9
lib: fix broken crit-recode test
adrianreber Jul 5, 2021
9cfa3d2
ci: also test tcp stream crit recoding
adrianreber Jul 5, 2021
374c77e
scripts: run lint also on criu-ns
adrianreber Jul 5, 2021
f29a02a
restore: cleanup cgroup properly in error path
Jul 2, 2021
9a058db
zdtm: make --sbs also stop on each pre-dump/snap iteration
Snorch Jul 2, 2021
bc98adf
ci/openj9: run mrproper before make
rst0git Jul 14, 2021
a68e0b9
lib: fix crit-recode msgque errors in Jenkins
adrianreber Jul 14, 2021
1d7b14e
ci: add msgque test case to crit-recode
adrianreber Jul 14, 2021
47611e6
cgroup: cgroup_contains has to update the mask for cgroupv2
avagin Jul 11, 2021
524f226
criu: dump and restore notify_thread_id of posix timer
liuchao173 Jun 29, 2021
6775b68
proc_parse: get a thread ID in a thread pidns from /proc/pid/status
avagin Jul 11, 2021
a9a32e8
timers: save tid from a task pid namespace
avagin Jul 10, 2021
f2e8ce2
zdtm: add a test for SIGEV_THREAD timers
avagin Jul 10, 2021
1c25914
protobuf: remove leading underscores from protobuf structs
ZeyadYasser Jul 22, 2021
f4d5fb4
scripts/build: add a docker file for archlinux
ZeyadYasser Jul 24, 2021
b1f7622
zdtm: prioritize /lib/* dependencies in some tests
ZeyadYasser Jul 24, 2021
c5333bc
make: install criu-ns
rst0git Jul 26, 2021
b5f26ab
Documentation: Add man page for criu-ns
rst0git Jul 26, 2021
f1e85e2
criu-ns: update script name in help message
rst0git Jul 26, 2021
e2e6444
criu-ns: add top-level conditional execution
rst0git Jul 26, 2021
e444292
criu-ns: add support for 'check' action
rst0git Jul 26, 2021
5dcf63c
kerndat: Check that "/proc/[pid]/status" file has NS{pid, ..} lines
Apr 10, 2017
1a0618f
proc_parse: make nspid field optional
Snorch Jul 26, 2021
147acb4
posix-timers: fallback notify thread id encoding for non-pidns and no…
Snorch Jul 26, 2021
29d5865
zdtm/pthread_timers: require ns_pid feature and add non-ns test
Snorch Jul 26, 2021
a14b451
ci: use pre-installed Podman
adrianreber Jul 26, 2021
f97e638
posix-timers: fix getoverrun error handling
Snorch Jul 28, 2021
4d86757
ci: fix Fedora Rawhide
adrianreber Jul 26, 2021
493f8c2
zdtm: fix indentation in Makefile wait_stop target
Snorch Aug 2, 2021
c7af208
criu: introduce clang-format to format source code
adrianreber Jun 26, 2021
c07bf8a
Run 'make indent' on all C files
adrianreber Jul 19, 2021
f3c8c63
Run 'make indent' on header files
adrianreber Jul 19, 2021
4aced9c
Run 'make indent' on 'flog/'
adrianreber Aug 4, 2021
a315774
ci: extend lint run to run 'make indent'
adrianreber Jul 19, 2021
7458e37
lsm: change when LSM profiles are collected
Apr 8, 2021
361e269
util: add rm -rf function
Apr 9, 2021
87aef42
lsm: support checkpoint/restore of stacked apparmor profiles
Apr 9, 2021
cfbd651
check: add a feature test for apparmor_stacking
Apr 9, 2021
e7d11e5
tests: add a test for apparmor_stacking
Sep 20, 2016
e68bb86
lsm: handle SELinux LSM correctly
Jun 16, 2021
a8c2b1d
apparmor: actually enable suspend for AppArmor
Jun 16, 2021
f9afc48
zdtm/apparmor_stacking: don't include optional AppArmor namespace sep…
Jun 16, 2021
49550ff
util: add run_command()
Jun 16, 2021
8f91824
dump: suspend/resume lsm on pre-dump
avagin Aug 8, 2021
23b2636
docker-test: refactor test scenario
rst0git Jul 30, 2021
f5c358b
ci: fix 'crit.sh: 3: source: not found'
adrianreber Aug 9, 2021
3d97d19
zdtm/pthread_timers: make sure glibc allocated SIGEV_THREAD's stack
Snorch Aug 9, 2021
6e36b39
files-reg: do not print a warning if a file has no build_id
adrianreber Aug 9, 2021
bc154ed
udp: Add support for checkpoint/restore UDP socket's queues
minhbq-99 Jul 7, 2021
10c84ef
zdtm: Add tests for C/R UDP socket's queues
minhbq-99 Jul 24, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
27 changes: 27 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2.1
jobs:
test-local-gcc:
machine:
image: ubuntu-2004:202010-01
working_directory: ~/criu
steps:
- checkout
- run:
name: "Test local with GCC"
command: sudo -E make -C scripts/ci local
test-local-clang:
machine:
image: ubuntu-2004:202010-01
working_directory: ~/criu
steps:
- checkout
- run:
name: "Test local with CLANG"
command: sudo -E make -C scripts/ci local CLANG=1

workflows:
version: 2
builds:
jobs:
- test-local-gcc
- test-local-clang
79 changes: 79 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
task:
name: Vagrant Fedora based test (no VDSO)
environment:
HOME: "/root"
CIRRUS_WORKING_DIR: "/tmp/criu"

compute_engine_instance:
image_project: cirrus-images
image: family/docker-kvm
platform: linux
cpu: 4
memory: 16G
nested_virtualization: true

setup_script: |
scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
sudo kvm-ok
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
build_script: |
make -C scripts/ci vagrant-fedora-no-vdso

task:
name: CentOS 8 based test
environment:
HOME: "/root"
CIRRUS_WORKING_DIR: "/tmp/criu"

compute_engine_instance:
image_project: centos-cloud
image: family/centos-8
platform: linux
cpu: 4
memory: 8G

setup_script: |
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm dnf-plugins-core
yum config-manager --set-enabled powertools
yum install -y --allowerasing asciidoc gcc git gnutls-devel libaio-devel libasan libcap-devel libnet-devel libnl3-devel libselinux-devel make protobuf-c-devel protobuf-devel python3-devel python3-flake8 python3-PyYAML python3-future python3-protobuf xmlto
alternatives --set python /usr/bin/python3
systemctl stop sssd
# Even with selinux in permissive mode the selinux tests will be executed
# The Cirrus CI user runs as a service from selinux point of view and is
# much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0)
# The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode
setenforce 0
pip3 install junit_xml

build_script: |
make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1

task:
name: CentOS 7 based test
environment:
HOME: "/root"
CIRRUS_WORKING_DIR: "/tmp/criu"

compute_engine_instance:
image_project: centos-cloud
image: family/centos-7
platform: linux
cpu: 4
memory: 8G

setup_script: |
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
yum install -y findutils gcc git gnutls-devel iproute iptables libaio-devel libasan libcap-devel libnet-devel libnl3-devel make procps-ng protobuf-c-devel protobuf-devel protobuf-python python python-flake8 python-ipaddress python2-future python2-junit_xml python-yaml python-six sudo tar which e2fsprogs python2-pip rubygem-asciidoctor libselinux-devel
# Even with selinux in permissive mode the selinux tests will be executed
# The Cirrus CI user runs as a service from selinux point of view and is
# much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0)
# The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode
setenforce 0
# Enable user namespaces on CentOS 7
echo 10000 > /proc/sys/user/max_user_namespaces
# Adapt sudoers to our needs
echo 'root ALL=(ALL:ALL) ALL' | EDITOR='tee -a' visudo

build_script: |
make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1 ZDTM_IGNORE_TAINT=1 ZDTM_OPTS="-x zdtm/static/socket-raw -x zdtm/static/child_subreaper_existing_child -x zdtm/static/fifo_upon_unix_socket01 -x zdtm/static/overmount_sock -x zdtm/static/tempfs_overmounted"
Loading