85 Commits

Author SHA1 Message Date
Azat Khuzhin
b9e1fe74e7 ci: disable netbsd and freebsd due to lack of runners
For example for openbsd-cmake-job (7.2, NONE)

    This request was automatically failed because there were no enabled runners online to process the request for more than 1 days.

And maybe this will fix the macos builds.
2024-03-11 21:00:18 +01:00
Pierce Lopez
7eddd5262a Patch abi-compliance-checker to avoid endless loop 2024-02-20 08:25:09 +01:00
Azat Khuzhin
f37c667cba Add ABI check without deploy for PRs 2024-02-20 07:53:18 +01:00
Azat Khuzhin
551df0b2f1 ci: try to fix ABI check by using newer version of ubuntu
Looks like after upgrading ubuntu from 18.04 (that has 1.9 version of
lvc abi tools) to 20.04 (that has 1.11) the abi-check started to
timeout (works longer then 6 hours, while usually few minutes, and
sometimes even faster was enough).

Unlikely upgrading ubuntu will help, since 22.04 and 20.04 has the same
version, but still, let's try.

Refs: #1463
2024-02-20 07:50:35 +01:00
Azat Khuzhin
da3c7b5027 Update link to the github package registry usage from github actions
Ugh, old link even don't have any redirect, what is a pitty.

[skip ci]
2024-02-18 12:45:21 +01:00
Azat Khuzhin
cffb7c03f1 ci: disable ABI check temporary (I hope that "temporary")
Refs: https://github.com/libevent/libevent/issues/1463
2024-01-13 15:55:12 +03:00
Azat Khuzhin
3e01178b1b Update vcpkg to fix windows CI
Previusly it got lots of 404 errors during downloading packages, this
was due to too old repository had been used.
2024-01-06 14:28:26 +01:00
Azat Khuzhin
85c09bbfa6 Switch to windows-latest (just in case) 2024-01-06 14:28:20 +01:00
Diogo Teles Sant'Anna
613581bbcf Enable Scorecard GitHub Action 2023-07-16 15:22:38 +02:00
Azat Khuzhin
3d1d7548cd Increase timeout for tests
Now, it 20min for sequential runs is not enough already, I've tested it
on t3.medium manually and got the same:

    Total Test time (real) = 1275.03 sec

And also if I run tests in parallel then I had few failures:

    bufferevent/bufferevent_connect_fail:
      FAIL /root/libevent/test/regress_bufferevent.c:865: didn't fail? what 128
      FAIL /root/libevent/test/regress_bufferevent.c:906: assert(test_ok == 1): 0 vs 1
      FAIL /root/libevent/test/regress_bufferevent.c:839: assert(n_events_invoked == 1): 2 vs 1bufferevent/bufferevent_connect_fail_eventcb_defer:
      FAIL /root/libevent/test/regress_bufferevent.c:839: assert(n_events_invoked == 1): 2 vs 1bufferevent/bufferevent_connect_fail_eventcb: 3/386 TESTS FAILED. (45 skipped)

v2: Increase timeout more (for netbsd)
2023-07-13 21:21:26 +02:00
Michael Davidsaver
7cd51ae1dd Add CI tests which require SSL libraries 2023-06-07 11:10:14 -07:00
fanquake
bdb343e180 ci: use newer actions/x versions for master jobs
Now that the jobs are running again, a number of deprecation warnings
have surfaced
https://github.com/libevent/libevent/actions/runs/4876367881:
```bash
Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/checkout@v2.0.0.
```

Looks like the most straightforward thing todo here is just use the
newer version of the checkout action.

Also move to the v1 tag for the coveralls job, rather than a pinned,
much older version (the latest release is 1.2.5, https://github.com/coverallsapp/github-action/releases).

Same again for actions/cache.
2023-05-04 21:21:40 +02:00
fanquake
211736697b ci: use OpenBSD 7.2 over 7.1
In the most recent CI run, all the OpenBSD CI jobs failed, i.e
https://github.com/libevent/libevent/actions/runs/4876367885/jobs/8699759831,
this seems to be due to the fact that packages for 7.1 have been removed
from https://cdn.openbsd.org/pub/OpenBSD/ (only has 7.2 & 7.3):
```bash
  Config file: openbsd-7.1.conf
  https://cdn.openbsd.org/pub/OpenBSD/7.1/packages/amd64/: no such dir
  Can't find rsync-3.2.3p0
  Couldn't install rsync-3.2.3p0
  exec shell: bash run.sh showDebugInfo
```

Switch to using 7.2, which is available, so that the CI will run.
2023-05-04 21:20:23 +02:00
fanquake
60ad22d47d actions: use supported version of Ubuntu
It looks like these jobs are failing to run, because support for
ubuntu-18.04 has been removed entirely, see:
https://github.com/actions/runner-images/issues/6002.

Migrate to ubuntu-20.04.
2023-05-03 22:43:17 +02:00
Azat Khuzhin
6e1826dd77 ci: fix typo in yaml for cifuzz
Follow-up for: #1431
2023-03-08 21:34:37 +01:00
Azat Khuzhin
606056d6e7 ci: switch to ubuntu 20.04
github action reports "internal error" for builds on ubuntu 18.04:

    linux-cmake-job (ubuntu-18.04, COMPILER_CLANG)
    This is a scheduled Ubuntu-18.04 brownout. The Ubuntu-18.04 environment is deprecated and will be removed on April 1st, 2023. For more details, see https://github.com/actions/runner-images/issues/6002

    linux-cmake-job (ubuntu-18.04, COMPILER_CLANG)
    GitHub Actions has encountered an internal error when running your job.
2023-03-07 06:15:33 +01:00
Diogo Teles Sant'Anna
99a4b1a786 ci: set minimal permissions on GitHub Actions
Change made by setting top-level read-only permisisons, and any
other necessary permissions set as job-level.

Closes #1421

Signed-off-by: Diogo Teles Sant'Anna <diogoteles@google.com>
2023-03-06 21:18:59 +01:00
Azat Khuzhin
28c28f075b
Merge pull request #1414 from azat/build/deprecate-autotools
Deprecate autotools build
2023-02-13 08:09:21 +01:00
Azat Khuzhin
1df2a5a69e test: enable allocator_may_return_null=1 for calloc with ENOMEM test 2023-02-12 21:55:40 +01:00
Azat Khuzhin
c437b84adb Remove extra builds for autotools on CI
We have almost the same matrix for cmake and autotools, but autotools is
considered to be deprecated from now on, plus our CI takes too much
time, especially non-linux, since we are using public infrastucture.

So let's remove extra builds.
2023-02-12 16:30:03 +01:00
Azat Khuzhin
f7e39d2e9b ci: bump cache and checkout plugins 2023-02-12 16:30:03 +01:00
Azat Khuzhin
b5a6940df2 ci: fix paths-ignore 2023-02-12 16:30:03 +01:00
Azat Khuzhin
7e6d9b0b17 .github/workflows/build.yml: remove trailing whitespaces 2023-02-12 16:30:03 +01:00
DavidKorczynski
d8ecb88f12
ci: add CIFuzz Github action (#1382)
Signed-off-by: David Korczynski <david@adalogics.com>
Co-authored-by: Azat Khuzhin <a3at.mail@gmail.com>
2022-11-26 22:40:02 +03:00
neil
45c66e4879
Add CI checks for OpenBSD (#1326)
Initially 6.9 and 7.1 had been added, however due to some issues (you can read
about them below) 6.9 had been disabled.

netbsd 6.9 does not have correct library namings for autotools:

    2022-08-17T04:59:58.8339420Z libtool: link: (cd ".libs" && rm -f "libevent.so.1.0" && ln -s "libevent-2.2.so.1.0" "libevent.so.1.0")

    $ grep ^library_names= libevent.la·
    library_names='libevent-2.2.so.1.0 libevent.so.1.0'

    # And this is wrong, it should be:
    libtool: link: (cd ".libs" && rm -f "libevent-2.2.so.1" && ln -s "libevent-2.2.so.1.0.0" "libevent-2.2.so.1")
    libtool: link: (cd ".libs" && rm -f "libevent.so" && ln -s "libevent-2.2.so.1.0.0" "libevent.so")
    library_names='libevent-2.2.so.1.0.0 libevent-2.2.so.1 libevent.so'

**And I think that 7.1 should also fail, however it has system-wide libevent installed with evdns in the libevent.so**

Also there are some issues with `TEST_EXPORT_SHARED` test, because of libraries naming:

    2022-09-13T06:38:29.2150790Z [test-export] test for install tree(in system-wide path)
    2022-09-13T06:38:29.2151500Z [test-export] fail: link core and run core expects success but gets failure.
    2022-09-13T06:38:29.2063870Z /usr/bin/cc CMakeFiles/test-export.dir/test-export.c.o -o test-export   -L/usr/local/lib  -Wl,-z,origin,-rpath,/usr/local/lib -levent_core-2.2 -lpthread -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib·
    2022-09-13T06:38:29.2152190Z ld: error: unable to find library -levent_core-2.2

    2022-09-13T06:38:28.3915680Z -- Install configuration: "Release"
    2022-09-13T06:38:28.3916700Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1.0.0
    2022-09-13T06:38:28.3917110Z -- Up-to-date: /usr/local/lib/libevent_core-2.2.so.1
    2022-09-13T06:38:28.3917480Z -- Up-to-date: /usr/local/lib/libevent_core.so
    # no libevent_core-2.2.so

So I have to disable it too.

Co-authored-by: Azat Khuzhin <azat@libevent.org>
2022-11-13 15:39:17 +03:00
zhenhaonong
f8bb9d8484 Fix socketpair failure when temporary directory has non-latin character 2022-09-26 21:43:21 +03:00
Azat Khuzhin
ceb6bcd68a ci: disable freebsd 13.0 builds (due to issues in the image)
Before it fails with:

   exec ssh: pkg install -y  mbedtls cmake python3
    /bin/bash /Users/runner/work/_actions/vmactions/freebsd-vm/v0/run.sh execSSH
    Config file: freebsd-13.0.conf
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    Warning: no access to tty (Bad file descriptor).
    Thus no job control in this shell.
    Installing pkg-1.18.3...
    Newer FreeBSD version for package pkg:
    To ignore this error set IGNORE_OSVERSION=yes
    - package: 1301000
    - running kernel: 1300139
    Ignore the mismatch and continue? [y/N]:
    Failed to install the following 1 package(s): /tmp//pkg.txz.18yvwm
    Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:amd64/quarterly, please wait...
    Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
    Error: The process '/bin/bash' failed with exit code 1

And now with:
  ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/libpython3.9.so.1.0 not found

Commenting for now, anyway we do not need such huge CI matrix, because
we have only public workers, and they are pretty busy.

Cc: @Neilpang
2022-09-14 22:14:28 +02:00
Azat Khuzhin
9174ba9242 .github/workflows/build.yml: Cleanup trailing whitespaces 2022-09-14 22:13:12 +02:00
neil
b2aca3bc31 fix freebsd checks 2022-08-09 00:14:43 +02:00
neil
c08ee39969 fix freebsd checks 2022-08-09 00:14:43 +02:00
neil
4f662d662e Add freebsd CI checks
ci/linux skip
ci/macos skip
ci/windows skip
ci/mingw skip
2022-08-09 00:14:43 +02:00
Azat Khuzhin
3e7a73809e ci: increase number of attempts to 5 2022-07-12 21:57:41 +03:00
Azat Khuzhin
bfa526cefa ci: add retries
Right now it is possible for some tests to fail, because of lack of CPU
time.
And it is better to have green CI even if this will take longer.
2022-07-12 21:08:00 +03:00
Azat Khuzhin
87c016a09e ci: use ubuntu 22.04 with clang 11 for sanitizers build
There are periodically some heap-use-after-free reported in ratelim
tests by TSan, which I cannot reproduce locally and even on CI it is
flaky.

Let's try to use recent clang, maybe it fixes some issues in sanitizers.

Refs: #1206
2022-07-12 08:08:25 +03:00
Azat Khuzhin
15780dd240 ci: disable broken mingw cmake builds (#1207) 2022-07-11 03:53:27 +03:00
Azat Khuzhin
a3572af704 ci: fix master/upstream workflow (syntax error) 2022-07-11 03:50:16 +03:00
Azat Khuzhin
587f26fb0c Rework CI to keep everything in one workflow (by using reusable workflow)
Right now because we have separate workflows there is no one page with
all the jobs, instead we have separate page for each workflow (linux,
windows, ...)

This is pretty inconvenient, so let's make it cleaner, and now we will
have only two:

- for pull requests
- for upstream/master
2022-07-11 03:42:50 +03:00
Azat Khuzhin
63ef005a26 ci: drop processing "ci skip" message in commit in favor of official skip
Since [1] github actions official support skipping workflows based on
the message.

  [1]: https://github.blog/changelog/2021-02-08-github-actions-skip-pull-request-and-push-workflows-with-skip-ci/
2022-07-10 15:47:00 +03:00
Azat Khuzhin
fc24a2990d ci: add ability skip specific workflow
Public CI workers has pretty high load, and sometimes you need to test
only specific workflow, i.e. windows.

So let's add ability to limit which workflow should be run.
2022-07-10 15:13:46 +03:00
Azat Khuzhin
54078b30cb ci: use ubuntu 22.04 with OpenSSl 3.0 instead of building OpenSSL from sources 2022-07-10 13:11:51 +03:00
Azat Khuzhin
fb5490066d ci: set LD_LIBRARY_PATH for openssl 3.0 build
Fixes:

    /home/runner/work/libevent/libevent/build/test/.libs/regress: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory
2022-07-10 12:48:04 +03:00
William Marlow
a29570a1e2 Attempt to add OpenSSL 3 to the Linux build matrix
v2: fix echo messages
v3: fix autotools build (wrong path to pkg config)
2022-07-10 10:07:25 +03:00
Azat Khuzhin
acb7ef9819 ci/macos: remove separate openssl 1.1 from build matrix
@ploxiln:

    On current homebrew, openssl@1.1 is the only openssl:

    [pierce@plo-mbp15 libevent]$ brew --prefix openssl
    /usr/local/opt/openssl@1.1
    [pierce@plo-mbp15 libevent]$ brew info openssl
    openssl@1.1: stable 1.1.1g (bottled) [keg-only]
    Cryptography and SSL/TLS Toolkit

@fanquake

    Indeed. OpenSSL 1.0 was removed from homebew in Homebrew/homebrew-core#46876. Related discussion also in Homebrew/homebrew-core#46454.
2022-07-09 21:17:06 +03:00
Azat Khuzhin
a9441ed646 ci: fix cmake build w/o OPENSSL_ROOT_DIR
cmake build rules does not have detection of OPENSSL_ROOT_DIR via brew,
so we cannot run such builds on CI.

Always set OPENSSL_ROOT_DIR for cmake.
2022-07-09 20:15:17 +03:00
Azat Khuzhin
4954b27bc0 ci: remove separate build for BREW_AUTODETECT_OPENSSL (use it by default) 2022-07-09 20:15:17 +03:00
Azat Khuzhin
1915b564f3 Run builds with -Werror on CI for linux 2022-07-09 17:17:04 +03:00
Igor Klemenski
21e2862689 Fix mingw pipeline (by using correct PATH to msys64)
I found the correct path by looking at the _Disable Key Refresh_ step in
_mingw::autotools::set up msys2_ task
(https://github.com/rectified95/libevent/runs/5858227589?check_suite_focus=true)

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe "((Get-Content -path **D:\a\_temp\msys64**\etc\post-install\07-pacman-key.post -Raw) ...
2022-04-07 08:32:09 +03:00
Igor Klemenski
097ff9a433 Fix windows pipeline (by updating vcpkg version to latest)
The Windows CI is failing at the prepare vcpkg step while installing zlib
Changing the vcpkg commit hash to point to latest release
https://github.com/microsoft/vcpkg/releases/tag/2022.03.10 as opposed to
sometime in 2019 to see if that fixes it.
2022-04-07 08:27:56 +03:00
Azat Khuzhin
e1ecc6fa0d Switch coverage to ubuntu 18.04
It seems that there is no 16.04 image anymore, since github actions was
not able to find it for 24 hours [1].

  [1]: https://github.com/libevent/libevent/actions/runs/1522612189
2021-12-02 10:27:16 +03:00
Azat Khuzhin
3b9c7dd6d6 ci: remove deprecated windows-2016 image
Refs: https://github.blog/changelog/2021-10-19-github-actions-the-windows-2016-runner-image-will-be-removed-from-github-hosted-runners-on-march-15-2022
2021-11-30 22:37:32 +03:00