Skip to content

Commit 8f7c0ab

Browse files
committed
Merge branch 'master' into master-patched
2 parents 70b9991 + e0e8814 commit 8f7c0ab

936 files changed

Lines changed: 26147 additions & 15760 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.appveyor.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ install:
1818
build_script:
1919
- git submodule update --init
2020
- mkdir build
21-
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; ../configure --enable-charset --enable-zlib --enable-openssl --enable-perl --enable-python --enable-cyrus --enable-argon < /dev/null; result=$?; cmake --system-information > config.log; appveyor PushArtifact config.log; exit $result"
21+
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; env ZNC_QT_VER=5 ../configure --enable-charset --enable-zlib --enable-openssl --enable-perl --enable-python --enable-cyrus --enable-argon < /dev/null; result=$?; cmake --system-information > config.log; appveyor PushArtifact config.log; exit $result"
2222
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make VERBOSE=1 -j2 < /dev/null"
2323
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make install < /dev/null"
2424
- c:\cygwin-root\bin\sh -lc "znc --version"
@@ -27,4 +27,4 @@ build_script:
2727
- c:\cygwin-root\bin\sh -lc "rebase -s -v $(cat /tmp/files-to-rebase)"
2828
test_script:
2929
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make VERBOSE=1 unittest < /dev/null"
30-
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; make VERBOSE=1 inttest < /dev/null"
30+
- c:\cygwin-root\bin\sh -lc "cd $APPVEYOR_BUILD_FOLDER/build; env ZNC_QT_VER=5 make VERBOSE=1 inttest < /dev/null"

.ci/Jenkinsfile.crowdin

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ def upstream_user = 'znc'
1111
def upstream_repo = 'znc'
1212
def my_user = 'znc-jenkins'
1313
def my_repo = 'znc'
14-
def branches = ['master', '1.9.x']
14+
def branches = ['master', '1.10.x']
1515

1616
def pr_mode = false
1717

@@ -22,7 +22,8 @@ timestamps {
2222
step([$class: 'WsCleanup'])
2323
}
2424
def tasks = [:]
25-
def crowdin_cli = "java -jar ${tool 'crowdin-cli'}/crowdin-cli.jar --config .ci/crowdin.yml"
25+
def crowdin_cli = "java -jar ${tool 'crowdin-cli'}/crowdin-cli.jar"
26+
def crowdin_cli_suffix = "--config .ci/crowdin.yml"
2627
for (def branch in branches) {
2728
def upstream_branch = branch
2829
def my_branch = "l10n_${branch}"
@@ -43,18 +44,16 @@ timestamps {
4344
stage("Crowdin for ${upstream_branch}") {
4445
withCredentials([string(credentialsId: '11c7e2b4-f990-4670-98a4-c89d2a5a2f43', variable: 'CROWDIN_API_KEY')]) {
4546
withEnv(['CROWDIN_BASE_PATH='+pwd()]) {
46-
sh "$crowdin_cli upload sources --branch ${upstream_branch}"
47-
// sh "$crowdin_cli upload translations --branch ${upstream_branch}"
48-
sh "$crowdin_cli download --branch ${upstream_branch}"
47+
sh "$crowdin_cli upload sources --branch ${upstream_branch} ${crowdin_cli_suffix}"
48+
// sh "$crowdin_cli upload translations --branch ${upstream_branch} ${crowdin_cli_suffix}"
49+
sh "$crowdin_cli download --branch ${upstream_branch} ${crowdin_cli_suffix}"
4950
}
50-
}
51-
sh 'LANG=C.UTF-8 find . -name "*.po" -exec msgfilter -i "{}" -o "{}.replacement" .ci/cleanup-po.pl ";"'
52-
sh 'find . -name "*.po" -exec mv "{}.replacement" "{}" ";"'
53-
withCredentials([string(credentialsId: 'fe727e3e-a8e0-4019-817f-6583c3c51ef7', variable: 'CROWDIN_API2_KEY')]) {
54-
def headers = [[maskValue: true, name: 'Authorization', value: "Bearer ${env.CROWDIN_API2_KEY}"], [maskValue: false, name: 'User-Agent', value: 'https://github.com/znc/znc/blob/master/.ci/Jenkinsfile.crowdin']]
51+
def headers = [[maskValue: true, name: 'Authorization', value: "Bearer ${env.CROWDIN_API_KEY}"], [maskValue: false, name: 'User-Agent', value: 'https://github.com/znc/znc/blob/master/.ci/Jenkinsfile.crowdin']]
5552
def contributors = httpRequest consoleLogResponseBody: true, customHeaders: headers, url: "https://crowdin.com/api/v2/projects/289533/members?limit=500"
5653
writeFile file: 'contributors.tmp', text: contributors.content
5754
}
55+
sh 'LANG=C.UTF-8 find . -name "*.po" -exec msgfilter -i "{}" -o "{}.replacement" .ci/cleanup-po.pl ";"'
56+
sh 'find . -name "*.po" -exec mv "{}.replacement" "{}" ";"'
5857
sh '.ci/crowdin-contributors.py < contributors.tmp'
5958
sh 'rm contributors.tmp'
6059
}
@@ -74,17 +73,18 @@ timestamps {
7473
echo 'No changes found'
7574
return
7675
}
77-
sh "git remote add my git@github.com:${my_user}/${my_repo}.git"
7876
if (!pr_mode) {
7977
sshagent(credentials: ['baf2df74-935d-40e5-b20f-076e92fa3e9f']) {
8078
sh "git push upstream HEAD:refs/heads/${upstream_branch}"
8179
}
8280
return
8381
}
82+
// Create pull request if it doesn't exist yet
83+
// Note: the following code hasn't been executed for long time, so probably nothing here works anymore, APIs might have changed, etc.
84+
sh "git remote add my git@github.com:${my_user}/${my_repo}.git"
8485
sshagent(credentials: ['6ef10f80-20dc-4661-af45-52a6e1e15749']) {
8586
sh "git push my HEAD:refs/heads/${my_branch} -f"
8687
}
87-
// Create pull request if it doesn't exist yet
8888
withCredentials([string(credentialsId: '7a2546ae-8a29-4eab-921c-6a4803456dce', variable: 'GITHUB_OAUTH_KEY')]) {
8989
def headers = [[maskValue: true, name: 'Authorization', value: "token ${env.GITHUB_OAUTH_KEY}"], [maskValue: false, name: 'Accept', value: 'application/vnd.github.v3+json'], [maskValue: false, name: 'User-Agent', value: 'https://github.com/znc/znc/blob/master/.ci/Jenkinsfile.crowdin']]
9090
def pulls = httpRequest consoleLogResponseBody: true, customHeaders: headers, url: "https://api.github.com/repos/${upstream_user}/${upstream_repo}/pulls?head=${my_user}:${my_branch}&base=${upstream_branch}"

.ci/crowdin.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
project_identifier: znc-bouncer
1+
# https://crowdin.com/project/znc-bouncer
2+
project_id: 289533
23
preserve_hierarchy: true
3-
api_key_env: CROWDIN_API_KEY
4+
api_token_env: CROWDIN_API_KEY
45
base_path_env: CROWDIN_BASE_PATH
56

67
files:

.codecov.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ fixes:
1111
codecov:
1212
ci:
1313
# Cygwin fails integration test with --coverage enabled, I don't know why
14-
- !appveyor
14+
- "!appveyor"
1515
# FreeBSD doesn't support C++ coverage yet (can't find libprofile_rt.a)
16-
- !jenkins.znc.in
16+
- "!jenkins.znc.in"
1717
coverage:
1818
status:
1919
project:

.github/build.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ls -la
66
cpanm --local-lib=~/perl5 local::lib
77
eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
88
cpanm --notest Devel::Cover::Report::Clover
9-
pip3 install --user coverage
9+
pip3 install --user --break-system-packages coverage
1010
export ZNC_MODPERL_COVERAGE=1
1111
#export ZNC_MODPYTHON_COVERAGE=1
1212

@@ -32,22 +32,22 @@ sudo make install
3232
/usr/local/bin/znc --version
3333

3434
# TODO: use DEVEL_COVER_OPTIONS for https://metacpan.org/pod/Devel::Cover
35-
env LLVM_PROFILE_FILE="$PWD/inttest.profraw" ZNC_MODPERL_COVERAGE_OPTS="-db,$PWD/cover_db" PYTHONWARNINGS=error make VERBOSE=1 inttest
35+
env LLVM_PROFILE_FILE="$PWD/inttest.profraw.%p" ZNC_MODPERL_COVERAGE_OPTS="-db,$PWD/cover_db" PYTHONWARNINGS=error make VERBOSE=1 inttest
3636
ls -lRa
3737

3838
~/perl5/bin/cover --no-gcov --report=clover
3939

4040
case "${CC:-gcc}" in
4141
gcc)
42-
lcov --directory . --capture --output-file lcov-coverage.txt
42+
lcov --directory . --capture --output-file lcov-coverage.txt --ignore-errors mismatch
4343
lcov --list lcov-coverage.txt
4444
;;
4545
clang)
4646
if [[ x$(uname) == xDarwin ]]; then
4747
export PATH=$PATH:/Library/Developer/CommandLineTools/usr/bin
4848
fi
4949
llvm-profdata merge unittest.profraw -o unittest.profdata
50-
llvm-profdata merge inttest.profraw -o inttest.profdata
50+
llvm-profdata merge inttest.profraw* -o inttest.profdata
5151
llvm-cov show -show-line-counts-or-regions -instr-profile=unittest.profdata test/unittest_bin > unittest-cmake-coverage.txt
5252
llvm-cov show -show-line-counts-or-regions -instr-profile=inttest.profdata /usr/local/bin/znc > inttest-znc-coverage.txt
5353
find /usr/local/lib/znc -name '*.so' -or -name '*.bundle' | while read f; do llvm-cov show -show-line-counts-or-regions -instr-profile=inttest.profdata $f > inttest-$(basename $f)-coverage.txt; done

.github/ubuntu_deps.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
sudo apt-get update
2-
sudo apt-get install -y tcl-dev libsasl2-dev libicu-dev swig qtbase5-dev libboost-locale-dev libperl-dev libargon2-dev cpanminus gettext clang llvm lcov
2+
sudo apt-get install -y tcl-dev libsasl2-dev libicu-dev swig qt6-base-dev libboost-locale-dev libperl-dev libargon2-dev cpanminus gettext clang llvm lcov
33
sudo apt-get upgrade -y
44

.github/workflows/build.yml

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,26 @@ on:
66
jobs:
77
gcc:
88
name: GCC
9-
runs-on: ubuntu-20.04
9+
runs-on: ubuntu-24.04
1010
steps:
11-
- uses: actions/checkout@v4
11+
- uses: actions/checkout@v5
1212
with:
1313
submodules: true
1414
- run: source .github/ubuntu_deps.sh
1515
- run: source .github/build.sh
16-
- uses: codecov/codecov-action@v3
16+
- uses: codecov/codecov-action@v5
1717
with:
1818
name: ${{ github.job }}
19-
- uses: actions/upload-artifact@v3
19+
- uses: actions/upload-artifact@v4
2020
with:
2121
name: codecov debug results ${{ github.job }}
2222
path: "/tmp/codecov.*.gz"
2323

2424
tarball:
2525
name: Tarball
26-
runs-on: ubuntu-20.04
26+
runs-on: ubuntu-24.04
2727
steps:
28-
- uses: actions/checkout@v4
28+
- uses: actions/checkout@v5
2929
with:
3030
submodules: true
3131
- run: source .github/ubuntu_deps.sh
@@ -36,68 +36,68 @@ jobs:
3636
cd znc-git-$date
3737
export CFGFLAGS="--with-gtest=$GITHUB_WORKSPACE/third_party/googletest/googletest --with-gmock=$GITHUB_WORKSPACE/third_party/googletest/googlemock --disable-swig"
3838
source $GITHUB_WORKSPACE/.github/build.sh
39-
- uses: actions/upload-artifact@v3
39+
- uses: actions/upload-artifact@v4
4040
with:
4141
name: znc-tarball
4242
path: /tmp/znc-git*.tar.gz
4343
if-no-files-found: error
44-
- uses: codecov/codecov-action@v3
44+
- uses: codecov/codecov-action@v5
4545
with:
4646
name: ${{ github.job }}
4747

4848
# can be removed when asan below is fixed
4949
clang:
5050
name: Clang
51-
runs-on: ubuntu-20.04
51+
runs-on: ubuntu-24.04
5252
env:
5353
CXX: clang++
5454
CC: clang
5555
steps:
56-
- uses: actions/checkout@v4
56+
- uses: actions/checkout@v5
5757
with:
5858
submodules: true
5959
- run: source .github/ubuntu_deps.sh
6060
- run: source .github/build.sh
61-
- uses: codecov/codecov-action@v3
61+
- uses: codecov/codecov-action@v5
6262
with:
6363
name: ${{ github.job }}
64-
- uses: actions/upload-artifact@v3
64+
- uses: actions/upload-artifact@v4
6565
with:
6666
name: codecov debug results ${{ github.job }}
6767
path: "/tmp/codecov.*.gz"
6868

6969

7070
#clang_asan:
7171
#name: Clang ASAN
72-
#runs-on: ubuntu-20.04
72+
#runs-on: ubuntu-24.04
7373
#env:
7474
#CXX: clang++
7575
#CC: clang
7676
#CXXFLAGS: "-fsanitize=address -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fPIE"
7777
#LDFLAGS: "-fsanitize=address -pie"
7878
#steps:
79-
#- uses: actions/checkout@v4
79+
#- uses: actions/checkout@v5
8080
#with:
8181
#submodules: true
8282
#- run: source .github/ubuntu_deps.sh
8383
#- run: source .github/build.sh
84-
#- uses: codecov/codecov-action@v3
84+
#- uses: codecov/codecov-action@v5
8585

8686
#clang_tsan:
8787
#name: Clang TSAN
88-
#runs-on: ubuntu-20.04
88+
#runs-on: ubuntu-24.04
8989
#env:
9090
#CXX: clang++
9191
#CC: clang
9292
#CXXFLAGS: "-fsanitize=thread -O1 -fPIE"
9393
#LDFLAGS: "-fsanitize=thread"
9494
#steps:
95-
#- uses: actions/checkout@v4
95+
#- uses: actions/checkout@v5
9696
#with:
9797
#submodules: true
9898
#- run: source .github/ubuntu_deps.sh
9999
#- run: source .github/build.sh
100-
#- uses: codecov/codecov-action@v3
100+
#- uses: codecov/codecov-action@v5
101101

102102
# TODO: enable
103103
#CXXFLAGS: "-fsanitize=memory -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize-memory-track-origins"
@@ -114,14 +114,17 @@ jobs:
114114
CXX: clang++
115115
CC: clang
116116
steps:
117-
- uses: actions/checkout@v4
117+
- uses: actions/checkout@v5
118118
with:
119119
submodules: true
120120
- run: |
121121
brew update
122-
brew install icu4c qt5 gettext pkg-config cpanminus boost
122+
brew install icu4c qt6 gettext pkg-config cpanminus boost argon2 swig
123123
- run: source .github/build.sh
124-
- uses: codecov/codecov-action@v3
124+
env:
125+
# https://github.com/znc/znc/issues/1937
126+
GTEST_FILTER: "-*Modpython*:LanguagesTests/AllLanguages.ServerDependentCapInModule/1"
127+
- uses: codecov/codecov-action@v5
125128

126129
docker:
127130
name: Docker push
@@ -131,7 +134,7 @@ jobs:
131134
- tarball
132135
- clang
133136
steps:
134-
- uses: actions/checkout@v4
137+
- uses: actions/checkout@v5
135138
with:
136139
submodules: true
137140
- id: tagger
@@ -156,7 +159,7 @@ jobs:
156159
with:
157160
username: ${{ secrets.DOCKER_USERNAME }}
158161
password: ${{ secrets.DOCKER_PASSWORD }}
159-
- uses: docker/build-push-action@v5
162+
- uses: docker/build-push-action@v6
160163
with:
161164
context: .
162165
push: ${{ github.repository == 'znc/znc' && github.event_name == 'push' }}
@@ -170,7 +173,7 @@ jobs:
170173
runs-on: ubuntu-latest
171174
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
172175
steps:
173-
- uses: actions/checkout@v4
176+
- uses: actions/checkout@v5
174177
with:
175178
submodules: true
176179
- run: sudo apt-get update

.github/workflows/cifuzz.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
dry-run: false
2121
language: c++
2222
- name: Upload Crash
23-
uses: actions/upload-artifact@v3
23+
uses: actions/upload-artifact@v4
2424
if: failure() && steps.build.outcome == 'success'
2525
with:
2626
name: artifacts

.github/workflows/codeql.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: "CodeQL"
22

33
on:
44
push:
5-
branches: [ 'master', '1.6.x' ]
5+
branches: [ 'master', '1.9.x' ]
66
pull_request:
77
# The branches below must be a subset of the branches above
88
branches: [ 'master' ]
@@ -12,7 +12,7 @@ on:
1212
jobs:
1313
analyze:
1414
name: Analyze
15-
runs-on: ubuntu-20.04
15+
runs-on: ubuntu-24.04
1616
permissions:
1717
actions: read
1818
contents: read
@@ -25,17 +25,22 @@ jobs:
2525

2626
steps:
2727
- name: Checkout repository
28-
uses: actions/checkout@v4
28+
uses: actions/checkout@v5
2929
with:
3030
submodules: true
31-
- run: source .github/ubuntu_deps.sh
31+
- run: |
32+
source .github/ubuntu_deps.sh
33+
sudo apt-get remove -y qt6-base-dev
34+
sudo apt-get install -y qtbase5-dev
3235
3336
- name: Initialize CodeQL
3437
uses: github/codeql-action/init@v3
3538
with:
3639
languages: ${{ matrix.language }}
3740

3841
- run: source .github/build.sh
42+
env:
43+
ZNC_QT_VER: "5"
3944

4045
- name: Perform CodeQL Analysis
4146
uses: github/codeql-action/analyze@v3

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
/man/*.gz
22
.depend
3+
.cache/
34

45
# Generated by autogen.sh
56
/aclocal.m4
@@ -73,3 +74,10 @@ CMakeFiles/
7374
/CMakeCache.txt
7475
/install_manifest.txt
7576
/install_manifest_*.txt
77+
78+
# OOT builds
79+
/build*
80+
81+
# LSP
82+
.clangd/
83+
compile_commands.json

0 commit comments

Comments
 (0)