Merge commit 'e988fee1679536137b87d10e939eff5c1f27c8ab' as 'libs/libzmq'
This commit is contained in:
48
libs/libzmq/.github/CONTRIBUTING.md
vendored
Normal file
48
libs/libzmq/.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
# Pull Request Notice
|
||||
|
||||
Before sending a pull request make sure each commit solves one clear, minimal,
|
||||
plausible problem. Further each commit should have the following format:
|
||||
|
||||
```
|
||||
Problem: X is broken
|
||||
|
||||
Solution: do Y and Z to fix X
|
||||
```
|
||||
|
||||
Please try to have the code changes conform to our coding style. For your
|
||||
convenience, you can install clang-format (at least version 5.0) and then
|
||||
run ```make clang-format-check```. Don't fix existing issues, if any - just
|
||||
make sure your changes are compliant. ```make clang-format-diff``` will
|
||||
automatically apply the required changes.
|
||||
To set a specific clang-format binary with autotools, you can for example
|
||||
run: ```./configure CLANG_FORMAT=clang-format-5.0```
|
||||
|
||||
Please avoid sending a pull request with recursive merge nodes, as they
|
||||
are impossible to fix once merged. Please rebase your branch on
|
||||
zeromq/libzmq master instead of merging it.
|
||||
|
||||
```
|
||||
git remote add upstream git@github.com:zeromq/libzmq.git
|
||||
git fetch upstream
|
||||
git rebase upstream/master
|
||||
git push -f
|
||||
```
|
||||
|
||||
In case you already merged instead of rebasing you can drop the merge commit.
|
||||
|
||||
```
|
||||
git rebase -i HEAD~10
|
||||
```
|
||||
|
||||
Now, find your merge commit and mark it as drop and save. Finally rebase!
|
||||
|
||||
If you are a new contributor please have a look at our contributing guidelines:
|
||||
[CONTRIBUTING](http://zeromq.org/docs:contributing)
|
||||
|
||||
# FIRST TIME CONTRIBUTORS PLEASE NOTE
|
||||
|
||||
Please add an additional commit with a relicensing grant.
|
||||
|
||||
[Example](https://github.com/zeromq/libzmq/commit/fecbd42dbe45455fff3b6456350ceca047b82050)
|
||||
|
||||
[More information on RELICENSING effort](https://github.com/zeromq/libzmq/tree/master/RELICENSE/README.md)
|
||||
22
libs/libzmq/.github/issue_template.md
vendored
Normal file
22
libs/libzmq/.github/issue_template.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
*Please use this template for reporting suspected bugs or requests for help.*
|
||||
|
||||
# Issue description
|
||||
|
||||
|
||||
|
||||
# Environment
|
||||
|
||||
* libzmq version (commit hash if unreleased):
|
||||
* OS:
|
||||
|
||||
# Minimal test code / Steps to reproduce the issue
|
||||
|
||||
1.
|
||||
|
||||
|
||||
# What's the actual result? (include assertion message & call stack if applicable)
|
||||
|
||||
|
||||
|
||||
# What's the expected result?
|
||||
|
||||
19
libs/libzmq/.github/stale.yml
vendored
Normal file
19
libs/libzmq/.github/stale.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 365
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 56
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- "Help Request"
|
||||
- "Feature Request"
|
||||
- "Problem reproduced"
|
||||
- Critical
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: stale
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
activity for 365 days. It will be closed if no further activity occurs within
|
||||
56 days. Thank you for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
||||
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