48 Commits

Author SHA1 Message Date
Azat Khuzhin
2a1ec766ed ci/openbsd: bump autoconf version to 2.72 2024-10-21 21:54:19 +02:00
Kirill Rodriguez
096c5fe584
update openbsd pkg names to 7.6 2024-10-20 21:43:09 +01:00
Kirill Rodriguez
87c921f9fc
make sure cmake cache misses when configuration files change 2024-10-20 21:41:26 +01:00
Kirill Rodriguez
2321506d41 replace mbedtls@2 with mbedtls 2024-10-04 07:42:45 +00:00
Kirill Rd
d681a0d4f9
CI fixes for openbsd/android/freebsd (#1721)
the following changes are introduced:

* openbsd CI fails with "too many open files", fixed with `ulimit -n` (now it fails for a more test-specific reasons)
* android CI fails with `pipe2` method not found, fixed by removing cache
* bumped freebsd to 13.4 (and 14.1) as they [reached EOL](https://www.freebsd.org/releases/)
2024-10-03 09:09:21 +02:00
Kirill Rd
cd68743eeb
add android CI cmake builds (#1716)
* trying android-ci workflow

* focus on android

* fix workflow file

* another fix attempt

* update java

* added host targets

* added clause for skipping CI

* revert focus on android

* set push CI back to master branch

* fix CI cache key for android
2024-09-23 10:12:10 +02:00
Azat Khuzhin
0bbaee6110 Disable persist-credentials for actions/checkout to improve security 2024-07-06 09:13:41 +02:00
Azat Khuzhin
7331c66b4d ci: limit artifacts
Refs: https://github.com/libevent/libevent/security/advisories/GHSA-f4cg-pcr2-495m
2024-07-06 09:00:38 +02:00
Azat Khuzhin
e0d53cbcd5 ci: ignore lukka/run-vcpkg for updates by dependabot
Follow-up for: https://github.com/libevent/libevent/pull/1657
2024-06-24 09:47:22 +03:00
Hennadii Stepanov
525f5d0a14 ci: Switch lukka/run-vcpkg back to v7
Newer versions expect a vcpkg manifest.
2024-05-20 17:17:27 +03:00
Azat Khuzhin
ab338ab1dc ci: fix typo in matrix 2024-05-20 11:19:28 +02:00
Cœur
5d45f4d9ff Simplifying apple-cmake-job 2024-05-05 09:34:14 +03:00
Cœur
7ede5af692
Updating deprecated GitHub actions (#1629)
* Updating deprecated GitHub actions

* code review: use commit hash for actions
2024-05-04 12:04:14 +02:00
Azat Khuzhin
534da76d44
Merge pull request #1641 from Coeur/coeur/apple-cmake-job
Adding apple-cmake-job for an iOS/tvOS/visionOS/watchOS build
2024-05-04 12:48:57 +03:00
Cœur
f516e399b4
Fix brew path on Apple Silicon (#1633)
* Fix brew path on Apple Silicon

* code review: `brew --prefix openssl`

* code review: correct mbedtls path

* code review: cmake does support autodetection of OPENSSL_ROOT_DIR
2024-05-04 11:42:26 +02:00
Cœur
3c744ceed0 fix linux retrying cmake 2024-05-04 12:41:00 +03:00
Cœur
71108830f6 using xcode-version: latest-stable for xros support 2024-05-02 13:16:04 +08:00
Cœur
b7fb04e88e Adding apple-cmake-job for an iOS/tvOS/watchOS build 2024-05-02 12:57:55 +08:00
dependabot[bot]
e0a4574ba2 Bump the github-actions group with 5 updates
Bumps the github-actions group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/cache](https://github.com/actions/cache) | `3` | `4` |
| [nick-fields/retry](https://github.com/nick-fields/retry) | `2` | `3` |
| [coverallsapp/github-action](https://github.com/coverallsapp/github-action) | `1.2.5` | `2.2.3` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.1.2` | `2.3.1` |
| [github/codeql-action](https://github.com/github/codeql-action) | `2.2.4` | `3.24.10` |


Updates `actions/cache` from 3 to 4
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

Updates `nick-fields/retry` from 2 to 3
- [Release notes](https://github.com/nick-fields/retry/releases)
- [Changelog](https://github.com/nick-fields/retry/blob/master/.releaserc.js)
- [Commits](https://github.com/nick-fields/retry/compare/v2...v3)

Updates `coverallsapp/github-action` from 1.2.5 to 2.2.3
- [Release notes](https://github.com/coverallsapp/github-action/releases)
- [Upgrade guide](https://github.com/coverallsapp/github-action/blob/main/UPGRADE.md)
- [Commits](09b709cf6a...3dfc556739)

Updates `ossf/scorecard-action` from 2.1.2 to 2.3.1
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](e38b1902ae...0864cf1902)

Updates `github/codeql-action` from 2.2.4 to 3.24.10
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](17573ee1cc...4355270be1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: nick-fields/retry
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: coverallsapp/github-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-17 09:39:14 +03:00
neil
4fd07f0ee8
Upgrade vmactions to use linux runners (#1570)
Co-authored-by: neil <neilgit@neilpang.com>
2024-03-12 21:56:35 +01:00
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
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
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
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
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
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
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