Merge commit 'e988fee1679536137b87d10e939eff5c1f27c8ab' as 'libs/libzmq'
This commit is contained in:
243
libs/libzmq/.github/workflows/CI.yaml
vendored
Normal file
243
libs/libzmq/.github/workflows/CI.yaml
vendored
Normal file
@@ -0,0 +1,243 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: "0 9 * * 5"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
if: github.event_name == 'pull_request' || github.event_name == 'push'
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: x64
|
||||
configuration: release
|
||||
os: windows-2019
|
||||
WITH_LIBSODIUM: ON
|
||||
ENABLE_CURVE: ON
|
||||
CMAKE_GENERATOR: Visual Studio 16 2019
|
||||
MSVCVERSION: v142
|
||||
MSVCYEAR: vs2019
|
||||
ARTIFACT_NAME: v142-x64
|
||||
ENABLE_DRAFTS: ON
|
||||
- platform: x64
|
||||
configuration: Release
|
||||
os: windows-2016
|
||||
WITH_LIBSODIUM: ON
|
||||
ENABLE_CURVE: ON
|
||||
CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
|
||||
MSVCVERSION: "v141"
|
||||
MSVCYEAR: "vs2017"
|
||||
ARTIFACT_NAME: v141-x64
|
||||
ENABLE_DRAFTS: ON
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: asciidoc xmlto
|
||||
CURVE: tweetnacl
|
||||
DRAFT: disabled
|
||||
POLLER: select
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: default
|
||||
CURVE: tweetnacl
|
||||
DRAFT: disabled
|
||||
POLLER: poll
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: android
|
||||
CURVE: tweetnacl
|
||||
DRAFT: disabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: coverage
|
||||
PACKAGES: libkrb5-dev libnorm-dev libpgm-dev libgnutls28-dev lcov
|
||||
CURVE: tweetnacl
|
||||
DRAFT: enabled
|
||||
GSSAPI: enabled
|
||||
PGM: enabled
|
||||
NORM: enabled
|
||||
TIPC: enabled
|
||||
TLS: enabled
|
||||
VMCI: enabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: valgrind
|
||||
PACKAGES: valgrind libgnutls28-dev
|
||||
CURVE: tweetnacl
|
||||
DRAFT: enabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: cmake
|
||||
CURVE: libsodium
|
||||
DRAFT: enabled
|
||||
PACKAGES: cmake libsodium-dev
|
||||
TLS: enabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: cmake
|
||||
DRAFT: enabled
|
||||
PACKAGES: cmake clang-format-11
|
||||
DO_CLANG_FORMAT_CHECK: 1
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: libkrb5-dev libnorm-dev libpgm-dev libgnutls28-dev libsodium-dev libnss3-dev libbsd-dev
|
||||
CURVE: libsodium
|
||||
ADDRESS_SANITIZER: enabled
|
||||
DRAFT: enabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: libkrb5-dev libnorm-dev libpgm-dev libgnutls28-dev libsodium-dev libnss3-dev libbsd-dev
|
||||
CURVE: libsodium
|
||||
GSSAPI: enabled
|
||||
PGM: enabled
|
||||
NORM: enabled
|
||||
TIPC: enabled
|
||||
IPv6: ON
|
||||
TLS: enabled
|
||||
USE_NSS: yes
|
||||
VMCI: enabled
|
||||
DRAFT: enabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: libkrb5-dev libnorm-dev libpgm-dev libgnutls28-dev libsodium-dev libnss3-dev
|
||||
CURVE: libsodium
|
||||
GSSAPI: enabled
|
||||
PGM: enabled
|
||||
NORM: enabled
|
||||
TIPC: enabled
|
||||
IPv6: ON
|
||||
TLS: enabled
|
||||
USE_NSS: yes
|
||||
VMCI: enabled
|
||||
DRAFT: enabled
|
||||
FORCE_98: enabled
|
||||
CXX: clang++
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: abi-compliance-checker
|
||||
PACKAGES: abi-dumper abi-compliance-checker
|
||||
CURVE: tweetnacl
|
||||
DRAFT: disabled
|
||||
- os: ubuntu-latest
|
||||
BUILD_TYPE: cmake
|
||||
PACKAGES: clang-tidy clang-tools
|
||||
CURVE: tweetnacl
|
||||
DRAFT: enabled
|
||||
CXX: clang++
|
||||
- os: macos-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: automake autoconf
|
||||
CURVE: tweetnacl
|
||||
DRAFT: enabled
|
||||
- os: macos-latest
|
||||
BUILD_TYPE: default
|
||||
PACKAGES: automake autoconf libsodium
|
||||
CURVE: libsodium
|
||||
DRAFT: disabled
|
||||
env:
|
||||
platform: ${{ matrix.platform }}
|
||||
configuration: ${{ matrix.configuration }}
|
||||
WITH_LIBSODIUM: ${{ matrix.WITH_LIBSODIUM }}
|
||||
ENABLE_CURVE: ${{ matrix.ENABLE_CURVE }}
|
||||
CMAKE_GENERATOR: ${{ matrix.CMAKE_GENERATOR }}
|
||||
MSVCVERSION: ${{ matrix.MSVCVERSION }}
|
||||
MSVCYEAR: ${{ matrix.MSVCYEAR }}
|
||||
ARTIFACT_NAME: ${{ matrix.ARTIFACT_NAME }}
|
||||
ENABLE_DRAFTS: ${{ matrix.ENABLE_DRAFTS }}
|
||||
SODIUM_INCLUDE_DIR: ${{ github.workspace }}\libsodium\src\libsodium\include"
|
||||
SODIUM_LIBRARY_DIR: ${{ github.workspace }}\libsodium\bin\${{ matrix.platform }}\${{ matrix.configuration }}\${{ matrix.MSVCVERSION }}\dynamic"
|
||||
LIBZMQ_SRCDIR: ${{ github.workspace }}\libzmq
|
||||
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
|
||||
CURVE: ${{ matrix.CURVE }}
|
||||
DRAFT: ${{ matrix.DRAFT }}
|
||||
ADDRESS_SANITIZER: ${{ matrix.ADDRESS_SANITIZER }}
|
||||
DO_CLANG_FORMAT_CHECK: ${{ matrix.DO_CLANG_FORMAT_CHECK }}
|
||||
FORCE_98: ${{ matrix.FORCE_98 }}
|
||||
CXX: ${{ matrix.CXX }}
|
||||
GSSAPI: ${{ matrix.GSSAPI }}
|
||||
PGM: ${{ matrix.PGM }}
|
||||
NORM: ${{ matrix.NORM }}
|
||||
TIPC: ${{ matrix.TIPC }}
|
||||
IPv6: ${{ matrix.IPv6 }}
|
||||
TLS: ${{ matrix.TLS }}
|
||||
USE_NSS: ${{ matrix.USE_NSS }}
|
||||
VMCI: ${{ matrix.VMCI }}
|
||||
POLLER: ${{ matrix.POLLER }}
|
||||
steps:
|
||||
- name: Add msbuild to PATH
|
||||
uses: microsoft/setup-msbuild@v1.0.2
|
||||
if: matrix.os == 'windows-2019'
|
||||
- name: Add msbuild to PATH 2016
|
||||
uses: microsoft/setup-msbuild@v1.0.2
|
||||
with:
|
||||
vs-version: '[15.0,16.0)'
|
||||
if: matrix.os == 'windows-2016'
|
||||
- uses: actions/checkout@v2
|
||||
if: matrix.WITH_LIBSODIUM == 'ON'
|
||||
with:
|
||||
repository: jedisct1/libsodium
|
||||
ref: stable
|
||||
path: libsodium
|
||||
- name: Compile libsodium
|
||||
if: matrix.WITH_LIBSODIUM == 'ON' && (matrix.os == 'windows-2019' || matrix.os == 'windows-2016')
|
||||
shell: cmd
|
||||
working-directory: libsodium
|
||||
run: msbuild /v:minimal /p:Configuration=%Configuration%DLL builds\msvc\%MSVCYEAR%\libsodium\libsodium.vcxproj
|
||||
- name: Copy libsodium
|
||||
if: matrix.WITH_LIBSODIUM == 'ON' && (matrix.os == 'windows-2019' || matrix.os == 'windows-2016')
|
||||
shell: powershell
|
||||
working-directory: libsodium
|
||||
run: Copy-Item "bin\${env:Platform}\${env:Configuration}\${env:MSVCVERSION}\dynamic\libsodium.lib" -Destination "bin\${env:Platform}\${env:Configuration}\${env:MSVCVERSION}\dynamic\sodium.lib"
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
path: libzmq
|
||||
- run: md build_libzmq
|
||||
shell: cmd
|
||||
if: matrix.os == 'windows-2019' || matrix.os == 'windows-2016'
|
||||
- name: build-win
|
||||
if: matrix.os == 'windows-2019' || matrix.os == 'windows-2016'
|
||||
shell: cmd
|
||||
working-directory: build_libzmq
|
||||
run: |
|
||||
cmake -D CMAKE_INCLUDE_PATH="%SODIUM_INCLUDE_DIR%" -D CMAKE_LIBRARY_PATH="%SODIUM_LIBRARY_DIR%" -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D ENABLE_DRAFTS="%ENABLE_DRAFTS%" -D ENABLE_ANALYSIS="%ENABLE_ANALYSIS%" -D ENABLE_CURVE="%ENABLE_CURVE%" -D API_POLLER="%API_POLLER%" -D POLLER="%POLLER%" %EXTRA_FLAGS% -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D LIBZMQ_WERROR="%LIBZMQ_WERROR%" -G "%CMAKE_GENERATOR%" "%LIBZMQ_SRCDIR%"
|
||||
cmake --build . --config %configuration% --target install -- -verbosity:Minimal -maxcpucount
|
||||
- name: test
|
||||
if: matrix.os == 'windows-2019' || matrix.os == 'windows-2016'
|
||||
shell: cmd
|
||||
working-directory: build_libzmq
|
||||
run: ctest -C "%Configuration%"
|
||||
- name: Add debian packages
|
||||
if: matrix.os == 'ubuntu-latest' && (matrix.BUILD_TYPE != 'coverage' || github.repository == 'zeromq/libzmq')
|
||||
uses: myci-actions/add-deb-repo@10
|
||||
with:
|
||||
repo-name: obs
|
||||
repo: deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-stable/xUbuntu_20.04/ ./
|
||||
keys-asc: https://download.opensuse.org/repositories/network:/messaging:/zeromq:/git-stable/xUbuntu_20.04/Release.key
|
||||
install: ${{ matrix.PACKAGES }}
|
||||
- name: Add brew packages
|
||||
if: matrix.os == 'macos-latest'
|
||||
shell: bash
|
||||
run: brew install ${{ matrix.PACKAGES }}
|
||||
- name: build
|
||||
if: (matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest') && (matrix.BUILD_TYPE != 'coverage' || github.repository == 'zeromq/libzmq')
|
||||
shell: bash
|
||||
working-directory: libzmq
|
||||
run: ./ci_build.sh
|
||||
- name: coveralls
|
||||
if: matrix.BUILD_TYPE == 'coverage' && github.repository == 'zeromq/libzmq'
|
||||
uses: coverallsapp/github-action@master
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
path-to-lcov: /home/runner/work/libzmq/libzmq/libzmq/lcov.info
|
||||
cron:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event_name == 'schedule'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
env:
|
||||
BUILD_TYPE: cmake
|
||||
CXX: clang++
|
||||
CLANG_TIDY: clang-tidy
|
||||
steps:
|
||||
- name: Add debian packages
|
||||
run: apt-get install --yes clang-tidy clang-tools
|
||||
- name: build
|
||||
shell: bash
|
||||
working-directory: libzmq
|
||||
run: ./ci_build.sh
|
||||
35
libs/libzmq/.github/workflows/Fuzzers.yaml
vendored
Normal file
35
libs/libzmq/.github/workflows/Fuzzers.yaml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
name: Fuzzers
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/workflows/Fuzzers.yaml'
|
||||
- 'src/*'
|
||||
- 'tests/*fuzzer.cpp'
|
||||
jobs:
|
||||
Fuzzing:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'zeromq/libzmq'
|
||||
strategy:
|
||||
matrix:
|
||||
san: [address, memory, undefined]
|
||||
steps:
|
||||
- name: Build Fuzzers (${{ matrix.san }})
|
||||
id: build
|
||||
uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
|
||||
with:
|
||||
sanitizer: ${{ matrix.san }}
|
||||
oss-fuzz-project-name: 'libzmq'
|
||||
allowed-broken-targets-percentage: 0
|
||||
dry-run: false
|
||||
- name: Run Fuzzers (${{ matrix.san }})
|
||||
id: run
|
||||
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
|
||||
with:
|
||||
sanitizer: ${{ matrix.san }}
|
||||
oss-fuzz-project-name: 'libzmq'
|
||||
allowed-broken-targets-percentage: 0
|
||||
dry-run: false
|
||||
fuzz-seconds: 300
|
||||
Reference in New Issue
Block a user