uringmachine 0.24.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.gitmodules +0 -3
- data/CHANGELOG.md +13 -0
- data/Gemfile +11 -0
- data/README.md +266 -112
- data/Rakefile +8 -0
- data/TODO.md +14 -21
- data/benchmark/common.rb +2 -0
- data/benchmark/openssl.rb +77 -0
- data/benchmark/openssl_socketpair.rb +112 -0
- data/benchmark/sqlite.rb +1 -1
- data/docs/design/buffer_pool.md +1 -1
- data/docs/wroclove.rb.md +52 -0
- data/ext/um/extconf.rb +15 -0
- data/ext/um/um.c +392 -358
- data/ext/um/um.h +48 -23
- data/ext/um/um_async_op.c +9 -8
- data/ext/um/um_async_op_class.c +34 -3
- data/ext/um/um_class.c +705 -19
- data/ext/um/um_const.c +31 -0
- data/ext/um/um_mutex_class.c +12 -0
- data/ext/um/um_op.c +15 -1
- data/ext/um/um_queue_class.c +16 -0
- data/ext/um/um_ssl.c +109 -0
- data/ext/um/um_stream.c +9 -8
- data/ext/um/um_sync.c +18 -11
- data/ext/um/um_utils.c +17 -8
- data/grant-2025/interim-report.md +1 -1
- data/grant-2025/journal.md +4 -4
- data/grant-2025/tasks.md +6 -4
- data/lib/uringmachine/dns_resolver.rb +38 -0
- data/lib/uringmachine/fiber_scheduler.rb +7 -5
- data/lib/uringmachine/version.rb +1 -1
- data/lib/uringmachine.rb +106 -6
- data/test/helper.rb +15 -0
- data/test/test_async_op.rb +3 -2
- data/test/test_fiber_scheduler.rb +41 -1
- data/test/test_ssl.rb +85 -0
- data/test/test_stream.rb +11 -0
- data/test/test_um.rb +445 -11
- data/uringmachine.gemspec +1 -7
- data/vendor/liburing/examples/send-zerocopy.c +43 -31
- data/vendor/liburing/examples/zcrx.c +260 -69
- data/vendor/liburing/liburing.spec +1 -1
- data/vendor/liburing/src/include/liburing/io_uring.h +12 -0
- data/vendor/liburing/src/include/liburing.h +3 -2
- data/vendor/liburing/src/liburing-ffi.map +4 -0
- data/vendor/liburing/src/liburing.map +4 -0
- data/vendor/liburing/src/queue.c +12 -0
- data/vendor/liburing/src/register.c +1 -0
- data/vendor/liburing/src/setup.c +15 -7
- data/vendor/liburing/test/Makefile +8 -4
- data/vendor/liburing/test/conn-unreach.c +1 -1
- data/vendor/liburing/test/epwait.c +32 -6
- data/vendor/liburing/test/io-wq-exit.c +131 -0
- data/vendor/liburing/test/iowait.c +1 -1
- data/vendor/liburing/test/min-timeout.c +3 -1
- data/vendor/liburing/test/open-close.c +39 -0
- data/vendor/liburing/test/poll-update-trigger.c +85 -0
- data/vendor/liburing/test/recvsend_bundle.c +14 -11
- data/vendor/liburing/test/sendzc-bug.c +146 -0
- data/vendor/liburing/test/sqe-mixed-nop.c +151 -7
- data/vendor/liburing/test/test.h +2 -0
- data/vendor/liburing/test/timestamp-bug.c +135 -0
- data/vendor/liburing/test/timestamp.c +5 -0
- data/vendor/liburing/test/vec-regbuf.c +136 -1
- metadata +38 -283
- data/vendor/libressl/.github/scripts/changelog.sh +0 -74
- data/vendor/libressl/.github/workflows/android.yml +0 -35
- data/vendor/libressl/.github/workflows/cifuzz.yml +0 -33
- data/vendor/libressl/.github/workflows/cmake-config.yml +0 -98
- data/vendor/libressl/.github/workflows/coverity.yml +0 -69
- data/vendor/libressl/.github/workflows/emscripten.yml +0 -71
- data/vendor/libressl/.github/workflows/fedora-rawhide.yml +0 -39
- data/vendor/libressl/.github/workflows/freebsd.yml +0 -71
- data/vendor/libressl/.github/workflows/linux.yml +0 -71
- data/vendor/libressl/.github/workflows/macos.yml +0 -37
- data/vendor/libressl/.github/workflows/release.yml +0 -81
- data/vendor/libressl/.github/workflows/rust-openssl.yml +0 -47
- data/vendor/libressl/.github/workflows/solaris.yml +0 -37
- data/vendor/libressl/.github/workflows/windows.yml +0 -70
- data/vendor/libressl/.gitignore +0 -333
- data/vendor/libressl/CMakeLists.txt +0 -581
- data/vendor/libressl/COPYING +0 -133
- data/vendor/libressl/ChangeLog +0 -3280
- data/vendor/libressl/FindLibreSSL.cmake +0 -232
- data/vendor/libressl/LibreSSLConfig.cmake.in +0 -36
- data/vendor/libressl/Makefile.am +0 -60
- data/vendor/libressl/Makefile.am.common +0 -20
- data/vendor/libressl/OPENBSD_BRANCH +0 -1
- data/vendor/libressl/README.md +0 -238
- data/vendor/libressl/README.mingw.md +0 -43
- data/vendor/libressl/apps/CMakeLists.txt +0 -18
- data/vendor/libressl/apps/Makefile.am +0 -5
- data/vendor/libressl/apps/nc/CMakeLists.txt +0 -67
- data/vendor/libressl/apps/nc/Makefile.am +0 -64
- data/vendor/libressl/apps/nc/compat/accept4.c +0 -17
- data/vendor/libressl/apps/nc/compat/readpassphrase.c +0 -205
- data/vendor/libressl/apps/nc/compat/socket.c +0 -29
- data/vendor/libressl/apps/nc/compat/sys/socket.h +0 -30
- data/vendor/libressl/apps/ocspcheck/CMakeLists.txt +0 -44
- data/vendor/libressl/apps/ocspcheck/Makefile.am +0 -45
- data/vendor/libressl/apps/ocspcheck/compat/.gitignore +0 -0
- data/vendor/libressl/apps/openssl/CMakeLists.txt +0 -97
- data/vendor/libressl/apps/openssl/Makefile.am +0 -108
- data/vendor/libressl/apps/openssl/apps_win.c +0 -138
- data/vendor/libressl/apps/openssl/certhash_win.c +0 -13
- data/vendor/libressl/apps/openssl/compat/clock_gettime_osx.c +0 -26
- data/vendor/libressl/apps/openssl/compat/poll_win.c +0 -329
- data/vendor/libressl/appveyor.yml +0 -53
- data/vendor/libressl/autogen.sh +0 -15
- data/vendor/libressl/check-release.sh +0 -86
- data/vendor/libressl/cmake_export_symbol.cmake +0 -71
- data/vendor/libressl/cmake_uninstall.cmake.in +0 -36
- data/vendor/libressl/config +0 -17
- data/vendor/libressl/configure.ac +0 -165
- data/vendor/libressl/crypto/CMakeLists.txt +0 -863
- data/vendor/libressl/crypto/Makefile.am +0 -962
- data/vendor/libressl/crypto/Makefile.am.arc4random +0 -46
- data/vendor/libressl/crypto/Makefile.am.elf-mips +0 -14
- data/vendor/libressl/crypto/Makefile.am.elf-mips64 +0 -14
- data/vendor/libressl/crypto/Makefile.am.elf-x86_64 +0 -35
- data/vendor/libressl/crypto/Makefile.am.macosx-x86_64 +0 -35
- data/vendor/libressl/crypto/Makefile.am.masm-x86_64 +0 -22
- data/vendor/libressl/crypto/Makefile.am.mingw64-x86_64 +0 -23
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_darwin.c +0 -60
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_linux.c +0 -62
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_none.c +0 -26
- data/vendor/libressl/crypto/arch/aarch64/crypto_cpu_caps_windows.c +0 -36
- data/vendor/libressl/crypto/arch/loongarch64/crypto_arch.h +0 -21
- data/vendor/libressl/crypto/arch/mips/crypto_arch.h +0 -21
- data/vendor/libressl/crypto/bn/arch/loongarch64/bn_arch.h +0 -23
- data/vendor/libressl/crypto/bn/arch/mips/bn_arch.h +0 -24
- data/vendor/libressl/crypto/compat/.gitignore +0 -31
- data/vendor/libressl/crypto/compat/arc4random.h +0 -41
- data/vendor/libressl/crypto/compat/b_win.c +0 -55
- data/vendor/libressl/crypto/compat/bsd-asprintf.c +0 -96
- data/vendor/libressl/crypto/compat/crypto_lock_win.c +0 -56
- data/vendor/libressl/crypto/compat/explicit_bzero_win.c +0 -13
- data/vendor/libressl/crypto/compat/freezero.c +0 -32
- data/vendor/libressl/crypto/compat/getdelim.c +0 -78
- data/vendor/libressl/crypto/compat/getline.c +0 -40
- data/vendor/libressl/crypto/compat/getopt_long.c +0 -528
- data/vendor/libressl/crypto/compat/getpagesize.c +0 -18
- data/vendor/libressl/crypto/compat/getprogname_linux.c +0 -23
- data/vendor/libressl/crypto/compat/getprogname_unimpl.c +0 -7
- data/vendor/libressl/crypto/compat/getprogname_windows.c +0 -13
- data/vendor/libressl/crypto/compat/posix_win.c +0 -296
- data/vendor/libressl/crypto/compat/syslog_r.c +0 -19
- data/vendor/libressl/crypto/compat/ui_openssl_win.c +0 -334
- data/vendor/libressl/dist.sh +0 -22
- data/vendor/libressl/gen-coverage-report.sh +0 -58
- data/vendor/libressl/gen-openbsd-tags.sh +0 -20
- data/vendor/libressl/include/CMakeLists.txt +0 -61
- data/vendor/libressl/include/Makefile.am +0 -79
- data/vendor/libressl/include/arch/loongarch64/opensslconf.h +0 -150
- data/vendor/libressl/include/arch/mips/opensslconf.h +0 -150
- data/vendor/libressl/include/compat/arpa/inet.h +0 -15
- data/vendor/libressl/include/compat/arpa/nameser.h +0 -25
- data/vendor/libressl/include/compat/cet.h +0 -19
- data/vendor/libressl/include/compat/dirent.h +0 -17
- data/vendor/libressl/include/compat/dirent_msvc.h +0 -611
- data/vendor/libressl/include/compat/endian.h +0 -161
- data/vendor/libressl/include/compat/err.h +0 -95
- data/vendor/libressl/include/compat/fcntl.h +0 -32
- data/vendor/libressl/include/compat/getopt.h +0 -50
- data/vendor/libressl/include/compat/limits.h +0 -25
- data/vendor/libressl/include/compat/netdb.h +0 -10
- data/vendor/libressl/include/compat/netinet/in.h +0 -19
- data/vendor/libressl/include/compat/netinet/ip.h +0 -49
- data/vendor/libressl/include/compat/netinet/tcp.h +0 -10
- data/vendor/libressl/include/compat/poll.h +0 -63
- data/vendor/libressl/include/compat/pthread.h +0 -122
- data/vendor/libressl/include/compat/readpassphrase.h +0 -44
- data/vendor/libressl/include/compat/resolv.h +0 -24
- data/vendor/libressl/include/compat/stdint.h +0 -31
- data/vendor/libressl/include/compat/stdio.h +0 -65
- data/vendor/libressl/include/compat/stdlib.h +0 -57
- data/vendor/libressl/include/compat/string.h +0 -98
- data/vendor/libressl/include/compat/sys/_null.h +0 -18
- data/vendor/libressl/include/compat/sys/ioctl.h +0 -11
- data/vendor/libressl/include/compat/sys/mman.h +0 -19
- data/vendor/libressl/include/compat/sys/param.h +0 -15
- data/vendor/libressl/include/compat/sys/queue.h +0 -536
- data/vendor/libressl/include/compat/sys/select.h +0 -10
- data/vendor/libressl/include/compat/sys/socket.h +0 -18
- data/vendor/libressl/include/compat/sys/stat.h +0 -129
- data/vendor/libressl/include/compat/sys/time.h +0 -37
- data/vendor/libressl/include/compat/sys/tree.h +0 -1006
- data/vendor/libressl/include/compat/sys/types.h +0 -69
- data/vendor/libressl/include/compat/sys/uio.h +0 -17
- data/vendor/libressl/include/compat/syslog.h +0 -38
- data/vendor/libressl/include/compat/time.h +0 -59
- data/vendor/libressl/include/compat/unistd.h +0 -83
- data/vendor/libressl/include/compat/win32netcompat.h +0 -57
- data/vendor/libressl/include/openssl/Makefile.am.tpl +0 -45
- data/vendor/libressl/libcrypto.pc.in +0 -28
- data/vendor/libressl/libressl.pub +0 -2
- data/vendor/libressl/libssl.pc.in +0 -28
- data/vendor/libressl/libtls.pc.in +0 -28
- data/vendor/libressl/m4/ax_add_fortify_source.m4 +0 -80
- data/vendor/libressl/m4/ax_check_compile_flag.m4 +0 -53
- data/vendor/libressl/m4/check-hardening-options.m4 +0 -110
- data/vendor/libressl/m4/check-libc.m4 +0 -189
- data/vendor/libressl/m4/check-os-options.m4 +0 -181
- data/vendor/libressl/m4/disable-compiler-warnings.m4 +0 -44
- data/vendor/libressl/man/CMakeLists.txt +0 -26
- data/vendor/libressl/man/links +0 -2780
- data/vendor/libressl/man/update_links.sh +0 -25
- data/vendor/libressl/openssl.pc.in +0 -11
- data/vendor/libressl/patches/bn_shift.patch +0 -34
- data/vendor/libressl/patches/crypto_arch.h.patch +0 -34
- data/vendor/libressl/patches/crypto_namespace.h.patch +0 -22
- data/vendor/libressl/patches/netcat.c.patch +0 -178
- data/vendor/libressl/patches/openssl.c.patch +0 -12
- data/vendor/libressl/patches/opensslfeatures.h.patch +0 -49
- data/vendor/libressl/patches/patch-amd64-crypto-cpu-caps.c.patch +0 -20
- data/vendor/libressl/patches/patch-i386-crypto-cpu-caps.c.patch +0 -20
- data/vendor/libressl/patches/speed.c.patch +0 -114
- data/vendor/libressl/patches/ssl_namespace.h.patch +0 -21
- data/vendor/libressl/patches/tls.h.patch +0 -16
- data/vendor/libressl/patches/tls_config.c.patch +0 -15
- data/vendor/libressl/patches/win32_amd64_bn_arch.h.patch +0 -28
- data/vendor/libressl/patches/windows_headers.patch +0 -80
- data/vendor/libressl/scripts/config.guess +0 -1774
- data/vendor/libressl/scripts/config.sub +0 -1907
- data/vendor/libressl/scripts/i686-w64-mingw32.cmake +0 -9
- data/vendor/libressl/scripts/test +0 -210
- data/vendor/libressl/scripts/wrap-compiler-for-flag-check +0 -31
- data/vendor/libressl/scripts/x86_64-w64-mingw32.cmake +0 -9
- data/vendor/libressl/ssl/CMakeLists.txt +0 -183
- data/vendor/libressl/ssl/Makefile.am +0 -187
- data/vendor/libressl/tests/CMakeLists.txt +0 -970
- data/vendor/libressl/tests/Makefile.am +0 -944
- data/vendor/libressl/tests/aeadtest.sh +0 -30
- data/vendor/libressl/tests/arc4randomforktest.sh +0 -21
- data/vendor/libressl/tests/asn1time_small.test +0 -10
- data/vendor/libressl/tests/cmake/CMakeLists.txt +0 -52
- data/vendor/libressl/tests/cmake/crypto.c +0 -7
- data/vendor/libressl/tests/cmake/ssl.c +0 -6
- data/vendor/libressl/tests/cmake/tls.c +0 -6
- data/vendor/libressl/tests/compat/pipe2.c +0 -186
- data/vendor/libressl/tests/dtlstest.sh +0 -28
- data/vendor/libressl/tests/evptest.sh +0 -22
- data/vendor/libressl/tests/keypairtest.sh +0 -27
- data/vendor/libressl/tests/mlkem_tests.sh +0 -39
- data/vendor/libressl/tests/ocsptest.bat +0 -25
- data/vendor/libressl/tests/ocsptest.sh +0 -23
- data/vendor/libressl/tests/openssl.cnf +0 -29
- data/vendor/libressl/tests/optionstest.c +0 -381
- data/vendor/libressl/tests/pidwraptest.c +0 -85
- data/vendor/libressl/tests/pidwraptest.sh +0 -26
- data/vendor/libressl/tests/quictest.bat +0 -27
- data/vendor/libressl/tests/quictest.sh +0 -30
- data/vendor/libressl/tests/renegotiation_test.bat +0 -27
- data/vendor/libressl/tests/renegotiation_test.sh +0 -30
- data/vendor/libressl/tests/rfc5280time_small.test +0 -10
- data/vendor/libressl/tests/servertest.bat +0 -27
- data/vendor/libressl/tests/servertest.sh +0 -30
- data/vendor/libressl/tests/shutdowntest.bat +0 -27
- data/vendor/libressl/tests/shutdowntest.sh +0 -30
- data/vendor/libressl/tests/ssltest.bat +0 -32
- data/vendor/libressl/tests/ssltest.sh +0 -48
- data/vendor/libressl/tests/testdsa.bat +0 -47
- data/vendor/libressl/tests/testdsa.sh +0 -57
- data/vendor/libressl/tests/testenc.bat +0 -85
- data/vendor/libressl/tests/testenc.sh +0 -93
- data/vendor/libressl/tests/testrsa.bat +0 -47
- data/vendor/libressl/tests/testrsa.sh +0 -57
- data/vendor/libressl/tests/testssl.bat +0 -171
- data/vendor/libressl/tests/tlstest.bat +0 -27
- data/vendor/libressl/tests/tlstest.sh +0 -28
- data/vendor/libressl/tls/CMakeLists.txt +0 -125
- data/vendor/libressl/tls/Makefile.am +0 -76
- data/vendor/libressl/tls/compat/ftruncate.c +0 -17
- data/vendor/libressl/tls/compat/pread.c +0 -29
- data/vendor/libressl/tls/compat/pwrite.c +0 -29
- data/vendor/libressl/update.sh +0 -460
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run Coverity scans.
|
|
2
|
-
name: "Coverity"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
workflow_dispatch:
|
|
6
|
-
schedule:
|
|
7
|
-
- cron: "0 0 * * *" # At 00:00 daily.
|
|
8
|
-
|
|
9
|
-
concurrency:
|
|
10
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
11
|
-
cancel-in-progress: true
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
scan:
|
|
15
|
-
name: "Scan"
|
|
16
|
-
runs-on: "ubuntu-24.04"
|
|
17
|
-
if: github.repository_owner == 'libressl' # Prevent running on forks
|
|
18
|
-
permissions:
|
|
19
|
-
contents: read
|
|
20
|
-
steps:
|
|
21
|
-
- name: "Checkout repository"
|
|
22
|
-
uses: actions/checkout@v4
|
|
23
|
-
|
|
24
|
-
- name: "Install dependencies"
|
|
25
|
-
run: |
|
|
26
|
-
sudo apt-get update
|
|
27
|
-
sudo apt-get install -y cmake ninja-build
|
|
28
|
-
|
|
29
|
-
- name: "Download Coverity build tool"
|
|
30
|
-
env:
|
|
31
|
-
PROJECT: "libressl-portable%2Fportable"
|
|
32
|
-
COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}"
|
|
33
|
-
run: |
|
|
34
|
-
wget -c -N https://scan.coverity.com/download/linux64 --post-data "token=$COVERITY_SCAN_TOKEN&project=$PROJECT" -O coverity_tool.tar.gz
|
|
35
|
-
mkdir coverity_tool
|
|
36
|
-
tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool
|
|
37
|
-
|
|
38
|
-
- name: "Setup"
|
|
39
|
-
run: |
|
|
40
|
-
./autogen.sh
|
|
41
|
-
./configure
|
|
42
|
-
make dist
|
|
43
|
-
tar zxf libressl-*.tar.gz
|
|
44
|
-
rm libressl-*.tar.gz
|
|
45
|
-
cd libressl-*
|
|
46
|
-
mkdir build-static
|
|
47
|
-
mkdir build-shared
|
|
48
|
-
cmake -GNinja -DBUILD_SHARED_LIBS=ON ..
|
|
49
|
-
|
|
50
|
-
- name: "Build with Coverity build tool"
|
|
51
|
-
run: |
|
|
52
|
-
export PATH=`pwd`/coverity_tool/bin:$PATH
|
|
53
|
-
cd libressl-*
|
|
54
|
-
cov-build --dir cov-int ninja
|
|
55
|
-
|
|
56
|
-
- name: "Submit build result to Coverity Scan"
|
|
57
|
-
env:
|
|
58
|
-
EMAIL: "libressl-security@openbsd.org"
|
|
59
|
-
PROJECT: "libressl-portable%2Fportable"
|
|
60
|
-
COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}"
|
|
61
|
-
run: |
|
|
62
|
-
cd libressl-*
|
|
63
|
-
tar czvf cov.tar.gz cov-int
|
|
64
|
-
curl --form token=$COVERITY_SCAN_TOKEN \
|
|
65
|
-
--form email=$EMAIL \
|
|
66
|
-
--form file=@cov.tar.gz \
|
|
67
|
-
--form version="Commit $GITHUB_SHA" \
|
|
68
|
-
--form description="Build submitted via CI" \
|
|
69
|
-
https://scan.coverity.com/builds?project=$PROJECT
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run for Emscripten.
|
|
2
|
-
name: "Emscripten"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
push: {}
|
|
6
|
-
pull_request: {}
|
|
7
|
-
schedule:
|
|
8
|
-
- cron: "0 0 * * *" # At 00:00 daily.
|
|
9
|
-
|
|
10
|
-
concurrency:
|
|
11
|
-
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
12
|
-
cancel-in-progress: true
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
test:
|
|
16
|
-
name: "Emscripten"
|
|
17
|
-
runs-on: "ubuntu-24.04"
|
|
18
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
19
|
-
permissions:
|
|
20
|
-
contents: read
|
|
21
|
-
steps:
|
|
22
|
-
- name: "Checkout repository"
|
|
23
|
-
uses: actions/checkout@v4
|
|
24
|
-
|
|
25
|
-
- name: "Setup emsdk"
|
|
26
|
-
uses: mymindstorm/setup-emsdk@v14
|
|
27
|
-
with:
|
|
28
|
-
version: "3.1.60"
|
|
29
|
-
|
|
30
|
-
- name: "Prepare repository"
|
|
31
|
-
run: ./autogen.sh
|
|
32
|
-
|
|
33
|
-
- name: "Configure CMake"
|
|
34
|
-
run: emcmake cmake -Bbuild
|
|
35
|
-
|
|
36
|
-
- name: "Build"
|
|
37
|
-
run: cmake --build build --config Release
|
|
38
|
-
|
|
39
|
-
- name: "Test"
|
|
40
|
-
run: ctest --test-dir build -C Release --output-on-failure
|
|
41
|
-
|
|
42
|
-
# Test ASAN with and without ASM enabled.
|
|
43
|
-
test-asan:
|
|
44
|
-
name: "ASAN (no-asm)"
|
|
45
|
-
runs-on: "ubuntu-24.04"
|
|
46
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
47
|
-
permissions:
|
|
48
|
-
contents: read
|
|
49
|
-
steps:
|
|
50
|
-
- name: "Checkout repository"
|
|
51
|
-
uses: actions/checkout@v4
|
|
52
|
-
|
|
53
|
-
- name: "Setup emsdk"
|
|
54
|
-
uses: mymindstorm/setup-emsdk@v14
|
|
55
|
-
with:
|
|
56
|
-
version: "3.1.60"
|
|
57
|
-
|
|
58
|
-
- name: "Prepare repository"
|
|
59
|
-
run: ./autogen.sh
|
|
60
|
-
|
|
61
|
-
- name: "Configure CMake"
|
|
62
|
-
run: emcmake cmake -Bbuild
|
|
63
|
-
env:
|
|
64
|
-
CFLAGS: "-gsource-map -fsanitize=address"
|
|
65
|
-
LDFLAGS: "-fsanitize=address"
|
|
66
|
-
|
|
67
|
-
- name: "Build"
|
|
68
|
-
run: cmake --build build --config Release
|
|
69
|
-
|
|
70
|
-
- name: "Test"
|
|
71
|
-
run: ctest --test-dir build -C Release --output-on-failure
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
name: Fedora/Rawhide
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
schedule:
|
|
6
|
-
- cron: "0 0 * * *"
|
|
7
|
-
|
|
8
|
-
concurrency:
|
|
9
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
10
|
-
cancel-in-progress: true
|
|
11
|
-
|
|
12
|
-
permissions:
|
|
13
|
-
contents: read
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
build_and_test:
|
|
17
|
-
strategy:
|
|
18
|
-
matrix:
|
|
19
|
-
cc: [ gcc, clang ]
|
|
20
|
-
name: ${{ matrix.cc }}
|
|
21
|
-
runs-on: ubuntu-24.04
|
|
22
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
23
|
-
container:
|
|
24
|
-
image: fedora:rawhide
|
|
25
|
-
steps:
|
|
26
|
-
- uses: actions/checkout@v4
|
|
27
|
-
- name: Install dependencies
|
|
28
|
-
run: |
|
|
29
|
-
dnf -y install git make clang cmake ninja-build autoconf automake libtool diffutils patch gawk
|
|
30
|
-
- name: Pull upstream source
|
|
31
|
-
run: |
|
|
32
|
-
./update.sh
|
|
33
|
-
- name: Build
|
|
34
|
-
run: |
|
|
35
|
-
CC=${{ matrix.cc }} cmake -GNinja -DBUILD_SHARED_LIBS=ON .
|
|
36
|
-
ninja
|
|
37
|
-
- name: Test
|
|
38
|
-
run: |
|
|
39
|
-
ninja test
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run tests on a FreeBSD VM.
|
|
2
|
-
name: "FreeBSD"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
workflow_dispatch:
|
|
6
|
-
schedule:
|
|
7
|
-
- cron: "0 0 * * *" # At 00:00 daily.
|
|
8
|
-
|
|
9
|
-
concurrency:
|
|
10
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
11
|
-
cancel-in-progress: true
|
|
12
|
-
|
|
13
|
-
env:
|
|
14
|
-
FREEBSD_VERSION: "14.1"
|
|
15
|
-
|
|
16
|
-
jobs:
|
|
17
|
-
autoconf:
|
|
18
|
-
name: "autoconf"
|
|
19
|
-
runs-on: ubuntu-24.04
|
|
20
|
-
if: github.repository_owner == 'libressl' || github.event_name != 'schedule'
|
|
21
|
-
permissions:
|
|
22
|
-
contents: read
|
|
23
|
-
steps:
|
|
24
|
-
- name: "Checkout repository"
|
|
25
|
-
uses: actions/checkout@v4
|
|
26
|
-
|
|
27
|
-
- name: "Setup"
|
|
28
|
-
run: |
|
|
29
|
-
sudo apt-get update
|
|
30
|
-
sudo apt-get install -y automake autoconf libtool
|
|
31
|
-
./autogen.sh
|
|
32
|
-
|
|
33
|
-
- name: "Build on VM"
|
|
34
|
-
uses: vmactions/freebsd-vm@v1
|
|
35
|
-
with:
|
|
36
|
-
release: "${{ env.FREEBSD_VERSION }}"
|
|
37
|
-
copyback: false
|
|
38
|
-
prepare: |
|
|
39
|
-
pkg install -y autoconf automake libtool
|
|
40
|
-
run: |
|
|
41
|
-
./configure
|
|
42
|
-
make -j2 check || (cat tests/test-suite.log && exit 1)
|
|
43
|
-
|
|
44
|
-
cmake:
|
|
45
|
-
name: "cmake"
|
|
46
|
-
runs-on: ubuntu-24.04
|
|
47
|
-
if: github.repository_owner == 'libressl' || github.event_name != 'schedule'
|
|
48
|
-
permissions:
|
|
49
|
-
contents: read
|
|
50
|
-
steps:
|
|
51
|
-
- name: "Checkout repository"
|
|
52
|
-
uses: actions/checkout@v4
|
|
53
|
-
|
|
54
|
-
- name: "Setup"
|
|
55
|
-
run: |
|
|
56
|
-
sudo apt-get update
|
|
57
|
-
sudo apt-get install -y automake autoconf libtool
|
|
58
|
-
./autogen.sh
|
|
59
|
-
|
|
60
|
-
- name: "Build on VM"
|
|
61
|
-
uses: vmactions/freebsd-vm@v1
|
|
62
|
-
with:
|
|
63
|
-
release: "${{ env.FREEBSD_VERSION }}"
|
|
64
|
-
copyback: false
|
|
65
|
-
prepare: |
|
|
66
|
-
pkg install -y cmake ninja
|
|
67
|
-
run: |
|
|
68
|
-
export CTEST_OUTPUT_ON_FAILURE=1
|
|
69
|
-
cmake -G Ninja -B build
|
|
70
|
-
ninja -C build
|
|
71
|
-
ninja -C build test
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run tests on Linux.
|
|
2
|
-
name: "Linux"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
push: {}
|
|
6
|
-
pull_request: {}
|
|
7
|
-
schedule:
|
|
8
|
-
- cron: "0 0 * * *" # At 00:00 daily.
|
|
9
|
-
|
|
10
|
-
concurrency:
|
|
11
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
12
|
-
cancel-in-progress: true
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
# Test against all supported architectures.
|
|
16
|
-
test:
|
|
17
|
-
name: "${{ matrix.os }}/${{ matrix.arch }} (${{ matrix.compiler }})"
|
|
18
|
-
runs-on: "${{ matrix.os }}"
|
|
19
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
20
|
-
permissions:
|
|
21
|
-
contents: read
|
|
22
|
-
strategy:
|
|
23
|
-
fail-fast: false
|
|
24
|
-
matrix:
|
|
25
|
-
os: ["ubuntu-22.04", "ubuntu-24.04"]
|
|
26
|
-
arch: ["native", "arm32", "arm64", "mingw32", "mingw64", "mips32", "mips64"]
|
|
27
|
-
compiler: ["gcc"]
|
|
28
|
-
include:
|
|
29
|
-
- os: "ubuntu-22.04"
|
|
30
|
-
arch: "native"
|
|
31
|
-
compiler: "clang"
|
|
32
|
-
- os: "ubuntu-24.04"
|
|
33
|
-
arch: "native"
|
|
34
|
-
compiler: "clang"
|
|
35
|
-
- os: "ubuntu-24.04" # loong64
|
|
36
|
-
arch: "loong64"
|
|
37
|
-
compiler: "gcc"
|
|
38
|
-
steps:
|
|
39
|
-
- name: "Checkout repository"
|
|
40
|
-
uses: actions/checkout@v4
|
|
41
|
-
|
|
42
|
-
- name: "Run tests"
|
|
43
|
-
run: ./scripts/test || (status=$?; cat tests/test-suite.log; exit $status)
|
|
44
|
-
env:
|
|
45
|
-
ARCH: "${{ matrix.arch }}"
|
|
46
|
-
CC: "${{ matrix.compiler }}"
|
|
47
|
-
|
|
48
|
-
# Test ASAN with and without ASM enabled.
|
|
49
|
-
test-asan:
|
|
50
|
-
name: "ASAN (${{ matrix.asm == 'ON' && 'asm' || 'no-asm' }})"
|
|
51
|
-
runs-on: "ubuntu-24.04"
|
|
52
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
53
|
-
permissions:
|
|
54
|
-
contents: read
|
|
55
|
-
strategy:
|
|
56
|
-
fail-fast: false
|
|
57
|
-
matrix:
|
|
58
|
-
asm: [ON, OFF]
|
|
59
|
-
steps:
|
|
60
|
-
- name: "Checkout repository"
|
|
61
|
-
uses: actions/checkout@v4
|
|
62
|
-
|
|
63
|
-
- name: "Run tests"
|
|
64
|
-
run: ./scripts/test
|
|
65
|
-
env:
|
|
66
|
-
ARCH: "native"
|
|
67
|
-
CC: "clang"
|
|
68
|
-
CFLAGS: "-ggdb -fsanitize=address"
|
|
69
|
-
LDFLAGS: "-fsanitize=address"
|
|
70
|
-
ENABLE_ASM: "${{ matrix.asm }}"
|
|
71
|
-
CTEST_OUTPUT_ON_FAILURE: 1
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run tests on macOS.
|
|
2
|
-
name: "macOS"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
push: {}
|
|
6
|
-
pull_request: {}
|
|
7
|
-
schedule:
|
|
8
|
-
- cron: "0 0 * * 0" # At 00:00 weekly on Sunday.
|
|
9
|
-
|
|
10
|
-
concurrency:
|
|
11
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
12
|
-
cancel-in-progress: true
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
test:
|
|
16
|
-
name: "${{ matrix.os }}/${{ matrix.arch }}"
|
|
17
|
-
runs-on: "${{ matrix.os }}"
|
|
18
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
19
|
-
permissions:
|
|
20
|
-
contents: read
|
|
21
|
-
strategy:
|
|
22
|
-
fail-fast: false
|
|
23
|
-
matrix:
|
|
24
|
-
os: ["macos-15", "macos-14", "macos-13"]
|
|
25
|
-
arch: ["arm64", "x86_64"]
|
|
26
|
-
steps:
|
|
27
|
-
- name: "Install required packages"
|
|
28
|
-
run: brew install automake libtool
|
|
29
|
-
|
|
30
|
-
- name: "Checkout repository"
|
|
31
|
-
uses: actions/checkout@v4
|
|
32
|
-
|
|
33
|
-
- name: "Run tests"
|
|
34
|
-
run: ./scripts/test
|
|
35
|
-
env:
|
|
36
|
-
ARCH: "${{ matrix.arch }}"
|
|
37
|
-
OS: "${{ matrix.os }}"
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to create releases from tags.
|
|
2
|
-
name: "Release"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
push:
|
|
6
|
-
tags: [ "v*" ]
|
|
7
|
-
|
|
8
|
-
concurrency:
|
|
9
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
10
|
-
cancel-in-progress: true
|
|
11
|
-
|
|
12
|
-
permissions:
|
|
13
|
-
contents: write
|
|
14
|
-
|
|
15
|
-
jobs:
|
|
16
|
-
release:
|
|
17
|
-
name: "Release"
|
|
18
|
-
runs-on: "ubuntu-24.04"
|
|
19
|
-
outputs:
|
|
20
|
-
upload_url: "${{ steps.create_release.outputs.upload_url }}"
|
|
21
|
-
steps:
|
|
22
|
-
- name: "Checkout repository"
|
|
23
|
-
uses: actions/checkout@v4
|
|
24
|
-
|
|
25
|
-
- name: "Generate version changelog"
|
|
26
|
-
run: .github/scripts/changelog.sh "$VERSION" > release-changelog.txt
|
|
27
|
-
env:
|
|
28
|
-
VERSION: "${{ github.ref_name }}"
|
|
29
|
-
|
|
30
|
-
- name: "Create GitHub release"
|
|
31
|
-
id: create_release
|
|
32
|
-
uses: softprops/action-gh-release@v2
|
|
33
|
-
with:
|
|
34
|
-
body_path: "${{ github.workspace }}/release-changelog.txt"
|
|
35
|
-
|
|
36
|
-
build-windows:
|
|
37
|
-
name: "${{ matrix.os }}/${{ matrix.arch }}"
|
|
38
|
-
runs-on: "${{ matrix.os }}"
|
|
39
|
-
needs: ["release"]
|
|
40
|
-
strategy:
|
|
41
|
-
matrix:
|
|
42
|
-
os: [ "windows-2022" ]
|
|
43
|
-
arch: [ "Win32", "x64", "ARM64" ]
|
|
44
|
-
steps:
|
|
45
|
-
- name: "Checkout repository"
|
|
46
|
-
uses: actions/checkout@v4
|
|
47
|
-
|
|
48
|
-
- name: "Setup MSYS2"
|
|
49
|
-
uses: msys2/setup-msys2@v2
|
|
50
|
-
with:
|
|
51
|
-
update: true
|
|
52
|
-
install: >-
|
|
53
|
-
autoconf
|
|
54
|
-
automake
|
|
55
|
-
diffutils
|
|
56
|
-
libtool
|
|
57
|
-
gcc
|
|
58
|
-
git
|
|
59
|
-
patch
|
|
60
|
-
perl
|
|
61
|
-
|
|
62
|
-
- shell: msys2 {0}
|
|
63
|
-
run: ./autogen.sh
|
|
64
|
-
|
|
65
|
-
- shell: cmd
|
|
66
|
-
run: cmake -Bbuild -G "Visual Studio 17 2022" -A ${{ matrix.arch }} -DCMAKE_INSTALL_PREFIX=local
|
|
67
|
-
|
|
68
|
-
- shell: cmd
|
|
69
|
-
run: cmake --build build --config Release
|
|
70
|
-
|
|
71
|
-
- shell: cmd
|
|
72
|
-
run: cmake --install build --config Release
|
|
73
|
-
|
|
74
|
-
- shell: pwsh
|
|
75
|
-
run: Compress-Archive -Path local\* "libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip"
|
|
76
|
-
|
|
77
|
-
- name: "Upload release artifact"
|
|
78
|
-
uses: softprops/action-gh-release@v2
|
|
79
|
-
with:
|
|
80
|
-
files: |
|
|
81
|
-
libressl_${{ github.ref_name }}_windows_${{ matrix.arch }}.zip
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run rust-openssl regress tests.
|
|
2
|
-
name: "rust-openssl"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
workflow_dispatch:
|
|
6
|
-
schedule:
|
|
7
|
-
- cron: "0 0 * * *" # At 00:00 daily.
|
|
8
|
-
|
|
9
|
-
concurrency:
|
|
10
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
11
|
-
cancel-in-progress: true
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
test:
|
|
15
|
-
name: "Test"
|
|
16
|
-
runs-on: "ubuntu-24.04"
|
|
17
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
18
|
-
permissions:
|
|
19
|
-
contents: read
|
|
20
|
-
steps:
|
|
21
|
-
- name: "Checkout repository"
|
|
22
|
-
uses: actions/checkout@v4
|
|
23
|
-
|
|
24
|
-
- name: "Build LibreSSL"
|
|
25
|
-
run: |
|
|
26
|
-
./autogen.sh
|
|
27
|
-
./configure --prefix="${HOME}/opt"
|
|
28
|
-
make all install
|
|
29
|
-
|
|
30
|
-
- name: "Clone rust-openssl"
|
|
31
|
-
run: |
|
|
32
|
-
git clone https://github.com/sfackler/rust-openssl.git
|
|
33
|
-
|
|
34
|
-
- name: "Run rust-openssl tests"
|
|
35
|
-
run: |
|
|
36
|
-
cd rust-openssl
|
|
37
|
-
# instead of erroring use the last supported version
|
|
38
|
-
ed -s openssl-sys/build/main.rs <<-EOF
|
|
39
|
-
/_ => version_error/-1
|
|
40
|
-
.t.
|
|
41
|
-
s/(.*=/_ =
|
|
42
|
-
+1d
|
|
43
|
-
w
|
|
44
|
-
q
|
|
45
|
-
EOF
|
|
46
|
-
export OPENSSL_DIR=${HOME}/opt LD_LIBRARY_PATH=${HOME}/opt/lib
|
|
47
|
-
cargo test --verbose
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run tests on a Solaris VM.
|
|
2
|
-
name: "Solaris"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
workflow_dispatch:
|
|
6
|
-
schedule:
|
|
7
|
-
- cron: "0 0 * * *" # At 00:00 daily.
|
|
8
|
-
|
|
9
|
-
concurrency:
|
|
10
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
11
|
-
cancel-in-progress: true
|
|
12
|
-
|
|
13
|
-
jobs:
|
|
14
|
-
test:
|
|
15
|
-
name: "Solaris"
|
|
16
|
-
runs-on: ubuntu-24.04
|
|
17
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
18
|
-
permissions:
|
|
19
|
-
contents: read
|
|
20
|
-
steps:
|
|
21
|
-
- name: "Checkout repository"
|
|
22
|
-
uses: actions/checkout@v4
|
|
23
|
-
|
|
24
|
-
- name: "Setup"
|
|
25
|
-
run: |
|
|
26
|
-
sudo apt-get update
|
|
27
|
-
sudo apt-get install -y automake autoconf libtool
|
|
28
|
-
./autogen.sh
|
|
29
|
-
|
|
30
|
-
- name: "Build on VM"
|
|
31
|
-
uses: vmactions/solaris-vm@v1
|
|
32
|
-
with:
|
|
33
|
-
prepare: |
|
|
34
|
-
pkg install gcc make
|
|
35
|
-
run: |
|
|
36
|
-
MAKE=gmake ./configure
|
|
37
|
-
gmake -j2 check || (cat tests/test-suite.log && exit 1)
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# GitHub Actions workflow to run tests on Windows.
|
|
2
|
-
name: "Windows"
|
|
3
|
-
|
|
4
|
-
on:
|
|
5
|
-
push: {}
|
|
6
|
-
pull_request: {}
|
|
7
|
-
schedule:
|
|
8
|
-
- cron: "0 0 * * 0" # At 00:00 weekly on Sunday.
|
|
9
|
-
|
|
10
|
-
concurrency:
|
|
11
|
-
group: "${{ github.workflow }}-${{ github.event.number || github.ref }}"
|
|
12
|
-
cancel-in-progress: true
|
|
13
|
-
|
|
14
|
-
jobs:
|
|
15
|
-
test:
|
|
16
|
-
name: "${{ matrix.os }}/${{ matrix.arch }} (${{ matrix.generator }}${{ matrix.shared == 'ON' && ', shared' || '' }})"
|
|
17
|
-
runs-on: "${{ matrix.os }}"
|
|
18
|
-
if: ${{ github.repository_owner == 'libressl' || github.event_name != 'schedule' }}
|
|
19
|
-
permissions:
|
|
20
|
-
contents: read
|
|
21
|
-
strategy:
|
|
22
|
-
fail-fast: false
|
|
23
|
-
matrix:
|
|
24
|
-
os: ["windows-2022", "windows-2025"]
|
|
25
|
-
arch: ["ARM64", "x64", "Win32"]
|
|
26
|
-
shared: ["ON", "OFF"]
|
|
27
|
-
include:
|
|
28
|
-
- os: "windows-2022"
|
|
29
|
-
generator: "Visual Studio 17 2022"
|
|
30
|
-
- os: "windows-2025"
|
|
31
|
-
# XXX - use appropriate value
|
|
32
|
-
generator: "Visual Studio 17 2022"
|
|
33
|
-
steps:
|
|
34
|
-
- name: "Checkout repository"
|
|
35
|
-
uses: actions/checkout@v4
|
|
36
|
-
|
|
37
|
-
- name: "Setup MSYS2"
|
|
38
|
-
uses: msys2/setup-msys2@v2
|
|
39
|
-
with:
|
|
40
|
-
update: true
|
|
41
|
-
install: >-
|
|
42
|
-
diffutils
|
|
43
|
-
gcc
|
|
44
|
-
git
|
|
45
|
-
patch
|
|
46
|
-
perl
|
|
47
|
-
|
|
48
|
-
- name: "Update"
|
|
49
|
-
shell: msys2 {0}
|
|
50
|
-
run: ./update.sh
|
|
51
|
-
|
|
52
|
-
- name: "Configure CMake"
|
|
53
|
-
shell: cmd
|
|
54
|
-
run: cmake -Bbuild -G "${{ matrix.generator }}" -A ${{ matrix.arch }} -D BUILD_SHARED_LIBS=${{ matrix.shared }} -D CMAKE_INSTALL_PREFIX=../local
|
|
55
|
-
|
|
56
|
-
- name: "Build"
|
|
57
|
-
shell: cmd
|
|
58
|
-
run: cmake --build build --config Release
|
|
59
|
-
|
|
60
|
-
- name: "Test"
|
|
61
|
-
if: matrix.arch != 'ARM64'
|
|
62
|
-
shell: cmd
|
|
63
|
-
run: ctest --test-dir build -C Release --output-on-failure
|
|
64
|
-
|
|
65
|
-
- name: "Upload build artifacts"
|
|
66
|
-
if: always()
|
|
67
|
-
uses: actions/upload-artifact@v4
|
|
68
|
-
with:
|
|
69
|
-
name: "${{ matrix.os }}-${{ matrix.arch }}${{ matrix.shared == 'ON' && '-shared' || '' }}-build-results"
|
|
70
|
-
path: "build"
|