summaryrefslogtreecommitdiff
path: root/ci
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headersDmitry V. Levin2023-04-301-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* treewide: fix unnecessary $ on arithmetic variablesDmitry V. Levin2023-03-301-2/+2
| | | | This silences shellcheck SC2004.
* Update copyright headersDmitry V. Levin2022-08-071-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* ci: try to make /dev/kvm more accessibleDmitry V. Levin2022-07-011-0/+2
| | | | | | | | | This might help to enable ioctl_kvm_run* tests in some ci environments. * ci/install-dependencies.sh: If /dev/kvm exists, try to make it more accessible by setting a permissive file access mode. Suggested-by: Alexey Gladkov <gladkov.alexey@gmail.com>
* Update copyright headersDmitry V. Levin2021-02-161-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* Move source files into src subdirectoryDmitry V. Levin2021-02-031-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/Makefile.am: New file. * src/.gitignore: Likewise. * scno.am: Move into src subdirectory. * scno.head: Likewise. * strace-graph: Likewise. * strace-log-merge: Likewise. * linux/: Likewise. * types/: Likewise. * xlat/: Likewise. * *.awk: Likewise. * *.c: Likewise. * *.h: Likewise. * *.sh: Likewise. * .gitignore: Update. * Makefile.am: Update. * bootstrap: Update. * configure.ac: Update. * debian/rules: Update. * debian/strace-udeb.install: Update. * debian/strace.examples: Update. * debian/strace.install: Update. * debian/strace64.install: Update. * m4/gen_bpf_attr_m4.sh: Update. * m4/mpers.m4: Update. * tests/Makefile.am: Update. * tests/init.sh: Update. * tests/legacy_syscall_info.test: Update. * tests/strace-log-merge-error.test: Update. * tests/strace-log-merge-suffix.test: Update.
* Move auxiliary build scripts to build-aux subdirectoryDmitry V. Levin2021-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * copyright-year-gen: Rename to build-aux/copyright-year-gen. * file-date-gen: Rename to build-aux/file-date-gen. * git-set-file-times: Rename to build-aux/git-set-file-times. * git-version-gen: Rename to build-aux/git-version-gen. * gitlog-to-changelog: Rename to build-aux/gitlog-to-changelog. * Makefile.am (EXTRA_DIST): Rename copyright-year-gen to build-aux/copyright-year-gen, file-date-gen to build-aux/file-date-gen, and git-version-gen to build-aux/git-version-gen. ($(srcdir)/ChangeLog): Rename gitlog-to-changelog to build-aux/gitlog-to-changelog. * ci/run-build-and-tests.sh: Rename git-set-file-times to build-aux/git-set-file-times. * configure.ac: Rename git-version-gen to build-aux/git-version-gen, copyright-year-gen to build-aux/copyright-year-gen, and file-date-gen to build-aux/file-date-gen. * maint/make-dist: Rename git-set-file-times to build-aux/git-set-file-times. * maint/update_copyright_years.sh: Rename git-set-file-times to build-aux/git-set-file-times, gitlog-to-changelog to build-aux/gitlog-to-changelog.
* ci: add a git status checkDmitry V. Levin2020-09-181-0/+6
| | | | | | | * ci/run-build-and-tests.sh: Check that "git status" does not report any differences or untracked files. [$CHECK == coverage]: Remove ./codecov.bash after use. * .gitignore: Add "/travis_wait_*.log".
* travis: update coverage configurationDmitry V. Levin2020-04-051-1/+6
| | | | | | | | * .travis.yml [$CHECK == coverage]: Change dist from trusty to bionic, change the compiler from gcc to gcc-9, change STACKTRACE from libunwind to libdw. * ci/run-build-and-tests.sh [$CHECK == coverage] (GCOV): New variable, pass its value to ./codecov.bash.
* ci: workaround unusable codecov-pythonDmitry V. Levin2020-04-052-4/+6
| | | | | | | | | | | | | | As codecov-python, starting with commit v2.0.15-44-g9f50cca7e5c5e0bb5e2859db238da08e3195e105 released almost a month ago, became an utterly unusable pile of garbage, switch to codecov-bash that still works. * ci/install-dependencies.sh [$CHECK == coverage]: Do not install lcov, python-pip, python-setuptools, and codecov. Download https://codecov.io/bash and save it as codecov.bash. * ci/run-build-and-tests.sh [$CHECK == coverage] (ac_cv_prog_LCOV, ac_cv_prog_GENHTML): New variables, export them. [[$CHECK == coverage]: Invoke codecov.bash instead of codecov.
* ci: use twice as many cpus for testsDmitry V. Levin2020-04-051-4/+6
| | | | | | | | Since many tests sleep a lot, running more of them in parallel increases overall performance. * ci/run-build-and-tests.sh (j2): New variable. Use it instead of $j for "make check" and "make distcheck".
* ci: use -Og instead of -O0 for coverage buildsDmitry V. Levin2020-04-051-4/+1
| | | | | | | | Also, do not apply this debugging optimization level to tests. * ci/run-build-and-tests.sh [$CHECK == coverage] (CFLAGS, CFLAGS_FOR_BUILD): Remove. [$CHECK == coverage]: Specify CFLAGS='-g -Og' to "make all".
* Update copyright headersDmitry V. Levin2020-04-031-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* build: enable compiler -Werror option by defaultDmitry V. Levin2020-03-261-4/+1
| | | | | | | | | | | | | | | | | | | | If gcc is 4.8+ or clang is 6.0+, and the architecture implements either PTRACE_GETREGS or PTRACE_GETREGSET, enable compiler -Werror option by default. * configure.ac: Call st_WARN_CFLAGS and AX_PROG_CC_FOR_BUILD after architecture checks. (arch_enable_Werror): New variable, defined to "yes" on all architectures except alpha, bfin, hppa, microblaze, sh, sh64, and xtensa. * m4/st_warn_cflags.m4 (st_cv_cc_enable_Werror, st_cv_enable_Werror): Compute new cached variables. (AC_ARG_ENABLE(gcc-Werror)): Default to $st_cv_enable_Werror if no option was given, do not add -Werror to WARN_CFLAGS. [enable_gcc_Werror == yes]: Add -Werror to WARN_CFLAGS. * m4/ax_prog_cc_for_build.m4 (AX_PROG_CC_FOR_BUILD): Redirect st_cv_enable_Werror and st_cv_cc_enable_Werror using pushdef/popdef. * ci/run-build-and-tests.sh (DISTCHECK_CONFIGURE_FLAGS): Add --enable-gcc-Werror unconditionally.
* Update copyright headersDmitry V. Levin2020-02-061-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* ci: support Travis CI's ppc64le buildsDmitry V. Levin2020-01-081-2/+8
| | | | | | * .travis.yml (matrix): Add ppc64le builds. * ci/install-dependencies.sh: Do not attempt to install multilib packages on ppc64le.
* Update copyright headersDmitry V. Levin2019-11-281-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* ci: enable mpers in aarch64 buildsDmitry V. Levin2019-11-152-4/+1
| | | | | | | * ci/install-dependencies.sh (aarch64): Install libc6-dev-armhf-cross and linux-libc-dev-armhf-cross packages. * ci/run-build-and-tests.sh (aarch64): Enable strict mpers check by removing --enable-mpers=check configure option.
* ci: support Travis CI's aarch64 buildsPaul Chaignon2019-11-152-5/+24
| | | | | | | | | | | | | | | | | | | | Travis CI now supports aarch64 builds, launched with the new "arch: arm64" tag. These builds are running inside LXD only for the moment. The aarch64 builds tend to be a lot slower than their x86_64 counterparts, so several timeout values need to be increased. Some tests occasionally take more than 10 minutes, hitting Travis CI's timeout on output inactivity. Using "travis_wait 40" disables that timeout; it delays the start time for the output inactivity timeout by 40 minutes, bringing it to the maximum build timeout of 50 minutes. * .travis.yml (matrix): Add aarch64 builds and mark previous builds as amd64. * ci/install-dependencies.sh: Install packages for aarch64 builds. * ci/run-build-and-tests.sh: Check mpers for aarch64. Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
* ci: enable symbols demangling in stack trace enabled buildsDmitry V. Levin2019-11-151-2/+2
| | | | | * ci/install-dependencies.sh: Install libiberty-dev when STACKTRACE is specified.
* ci: install rsync for headers_installDmitry V. Levin2019-10-281-0/+1
| | | | | | | | Starting with Linux commit v5.3-rc1~111^2~40, "make headers_install" needs rsync. * ci/install-dependencies.sh: Install rsync before invoking "make headers_install".
* ci: consistently parallelize make jobsDmitry V. Levin2019-10-252-4/+5
| | | | | | * ci/run-build-and-tests.sh: Use "nproc" instead of "getconf _NPROCESSORS_ONLN". * ci/install-dependencies.sh: Use "nproc" to parallelize make jobs.
* Update copyright headersDmitry V. Levin2019-09-251-1/+1
| | | | | Headers updated automatically using maint/update_copyright_years.sh script.
* tests: convert ksysent.test into a generated testDmitry V. Levin2019-08-311-2/+2
| | | | | | | | * tests/ksysent.test: Remove. * tests/Makefile.am (MISC_TESTS): Remove ksysent.test. * tests/gen_tests.in (ksysent): New entry. * ci/run-build-and-tests.sh: Replace ksysent.log with ksysent.gen.log. * strace.spec.in: Likewise.
* Add copyright headers to some files that lack themDmitry V. Levin2018-12-242-0/+10
| | | | | | We do our best to keep copyright headers up to date, yet git history provides better information on this subject and is more accurate than copyright headers.
* ci: install kernel headers after compiler dependenciesDmitry V. Levin2018-08-191-13/+14
| | | | | * ci/install-dependencies.sh: Install kernel headers after compiler dependencies to avoid a needless attempt to install $common_packages.
* ci: fix kernel headers version diagnosticsDmitry V. Levin2018-08-191-1/+2
| | | | | * ci/run-build-and-tests.sh: Honor $CPPFLAGS when printing kernel headers version.
* ci: robustify network-related operationsDmitry V. Levin2018-07-031-5/+17
| | | | | | | | Reduce false positives by wrapping network-related operations into a loop. * ci/install-dependencies.sh (retry_if_failed): New function. Use it to invoke apt-get update, apt-get install, git clone, add-apt-repository, and pip install.
* travis: use kernel headers from v4.17Dmitry V. Levin2018-06-061-3/+4
| | | | | | | | | | There is too much noise when using unreleased kernel uapi. * ci/install-dependencies.sh (clone_repo): Add optional "branch" argument, pass it to "git clone". ($KHEADERS): Pass $KBRANCH as branch argument of clone_repo. * .travis.yml (matrix): Specify KBRANCH=v4.17 for KHEADERS=torvalds/linux.
* ci: install libbluetooth-devEugene Syromyatnikov2018-05-081-1/+1
| | | | * ci/install-dependencies.sh (common_packages): Add libbluetooth-dev.
* build: rewrite libdw detection without pkg-configDmitry V. Levin2018-05-051-2/+2
| | | | | | | | | | | pkg-config expected to be more convenient way to configure libdw, but in practice it appeared to be less portable than good old AC_CHECK_HEADERS and AC_CHECK_LIB. * ci/install-dependencies.sh (common_packages): Remove pkg-config. (STACKTRACE == "libdw"): Do not install libz-dev and liblzma-dev. * debian/control (Build-Depends): Remove pkg-config. * m4/st_libdw.m4 (st_ARG_LIBDW, st_LIBDW): Rewrite without pkg-config.
* ci: add more variants of unwinder to test matricesDmitry V. Levin2018-05-042-1/+19
| | | | | | | | | | | | | | | | | | | | | Check x86_64 builds with libdw, with libunwind, and without stacktrace. As Travis CI doesn't provide a suitable libdw, do not test libdw there. * ci/install-dependencies.sh (common_packages): Remove libdw-dev. Install libdw-dev or libunwind8-dev depending on $STACKTRACE. * ci/run-build-and-tests.sh: Specify --with-libdw=yes, --with-libunwind=yes, or --without-stacktrace depending on $STACKTRACE. * .gitlab-ci.yml (gcc-x86_64): Rename to gcc-x86_64-libdw, add STACKTRACE=libdw. (gcc-x86): Rename to gcc-x86-nounwind, add STACKTRACE=no. (clang-x86_64): Rename to clang-x86_64-libdw, add STACKTRACE=libdw. (clang-x86): Rename to clang-x86-nounwind, add STACKTRACE=no. (gcc-x86_64-libunwind, gcc-x86_64-nounwind, gcc-x86-nounwind, clang-x86_64-libunwind, clang-x86_64-nounwind, clang-x86-nounwind): New test matrix entries. * .travis.yml: Add STACKTRACE=libunwind to all x86_64 test matrix entries except musl-gcc, add STACKTRACE=no to other matrix entries, add test matrix entries with STACKTRACE=no variants on x86_64.
* Use libdw-based unwinder in ci and packagesDmitry V. Levin2018-04-111-1/+1
| | | | | | | | | | | | * ci/install-dependencies.sh (common_packages): Add pkg-config, replace libunwind8-dev with libdw-dev. * debian/control (Build-Depends) [amd64]: Add pkg-config, replace libunwind-dev with libdw-dev. * debian/rules (build-udeb/Makefile): Replace --without-libunwind with --without-stacktrace. * strace.spec.in (buildrequires_libunwind_devel): Rename to buildrequires_stacktrace, replace libunwind-devel with either elfutils-devel or libdw-devel.
* strace: handle possible NULL from localtime() callEugene Syromyatnikov2018-04-041-1/+1
| | | | | | | | | | | | | | | * strace.c (printleader): Print raw tv_sec value if localtime() returned NULL. * tests/localtime.c: New file. * tests/localtime.test: New test. * tests/Makefile.am (check_PROGRAMS): Add localtime. (MISC_TESTS): Add localtime.test. (localtime_LDADD): New variable. * tests/.gitignore: Add localtime. * ci/install-dependencies.sh (common_packages): Add faketime. Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org> Closes: https://github.com/strace/strace/issues/42
* ci: install libunwind8-devEugene Syromyatnikov2018-03-261-1/+1
| | | | | | | | | | While in debian/control we use libunwind-dev in Build-Depends, in case of ci we have to be more conservative and use the name portable across different ci implementations. * ci/install-dependencies.sh (common_packages): Add libunwind8-dev. Co-Authored-by: Dmitry V. Levin <ldv@altlinux.org>
* ci: clone musl from the local serverDmitry V. Levin2018-03-131-1/+11
| | | | | | | | | Assume that strace project on the local server contains an appropriate musl repository, use this repository instead of hardcoded github location. * ci/install-dependencies.sh (clone_repo): Use local server by default. (musl-gcc): Un-hardcode the location of musl repository.
* ci: refactor cloning of additional repositoriesDmitry V. Levin2018-03-131-3/+18
| | | | | * ci/install-dependencies.sh (clone_repo): New function. Use it instead of direct invocations of git clone.
* ci: extend error diagnostics when configure invocation failsDmitry V. Levin2018-03-131-0/+2
| | | | | * ci/run-build-and-tests.sh: Include $CC -dumpspecs output in addition to config.log when ./configure fails.
* ci: rename travis-build.sh and travis-install.sh scriptsDmitry V. Levin2018-03-132-0/+176
* travis-build.sh: Rename to ci/run-build-and-tests.sh, all callers updated. * travis-install.sh: Rename to ci/install-dependencies.sh, all callers updated.