Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
git2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
git2
Commits
517d2cd3
Unverified
Commit
517d2cd3
authored
Dec 21, 2023
by
Edward Thomson
Committed by
GitHub
Dec 21, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #6697 from libgit2/ethomson/ci
Yet more CI improvements
parents
da1e9573
383e5ed5
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
154 additions
and
64 deletions
+154
-64
.github/workflows/main.yml
+20
-20
.github/workflows/nightly.yml
+23
-23
ci/docker/centos7
+3
-3
ci/docker/centos8
+3
-3
ci/docker/focal
+1
-1
ci/docker/noble
+88
-0
ci/docker/xenial
+4
-4
ci/test.sh
+12
-10
No files found.
.github/workflows/main.yml
View file @
517d2cd3
...
@@ -30,42 +30,42 @@ jobs:
...
@@ -30,42 +30,42 @@ jobs:
matrix
:
matrix
:
platform
:
platform
:
# All builds: core platforms
# All builds: core platforms
-
name
:
"
Linux
(
Xenial
,
GCC,
OpenSSL,
libssh2)"
-
name
:
"
Linux
(
Noble
,
GCC,
OpenSSL,
libssh2)"
id
:
xenial
-gcc-openssl
id
:
noble
-gcc-openssl
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
noble
env
:
env
:
CC
:
gcc
CC
:
gcc
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2 -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2 -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON
-
name
:
Linux (Xenial, GCC, mbedTLS, OpenSSH)
-
name
:
"
Linux
(Noble,
Clang,
mbedTLS,
OpenSSH)"
id
:
xenial-gcc
-mbedtls
id
:
noble-clang
-mbedtls
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
noble
env
:
env
:
CC
:
gcc
CC
:
clang
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec
-
name
:
"
Linux
(Xenial,
GCC,
OpenSSL,
OpenSSH)"
-
name
:
"
Linux
(Xenial,
Clang,
OpenSSL,
OpenSSH)"
id
:
xenial-gcc-openssl
id
:
xenial-clang-openssl
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
xenial
env
:
env
:
CC
:
clang
CC
:
gcc
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -D
DEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -D
REGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON
-
name
:
"
Linux
(Xenial,
Clang,
mbedTLS,
libssh2)"
-
name
:
"
Linux
(Xenial,
Clang,
mbedTLS,
libssh2)"
id
:
xenial-
clang
-mbedtls
id
:
xenial-
gcc
-mbedtls
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
xenial
env
:
env
:
CC
:
clang
CC
:
clang
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2
-
name
:
"
macOS"
-
name
:
"
macOS"
id
:
macos
id
:
macos
os
:
macos-12
os
:
macos-12
...
@@ -130,9 +130,9 @@ jobs:
...
@@ -130,9 +130,9 @@ jobs:
-
name
:
"
Sanitizer
(Memory)"
-
name
:
"
Sanitizer
(Memory)"
id
:
sanitizer-memory
id
:
sanitizer-memory
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang
-10
CC
:
clang
CFLAGS
:
-fsanitize=memory -fsanitize-memory-track-origins=2 -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CFLAGS
:
-fsanitize=memory -fsanitize-memory-track-origins=2 -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local/msan -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local/msan -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
@@ -145,9 +145,9 @@ jobs:
...
@@ -145,9 +145,9 @@ jobs:
id
:
sanitizer-ub
id
:
sanitizer-ub
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang
-10
CC
:
clang
CFLAGS
:
-fsanitize=undefined,nullability -fno-sanitize-recover=undefined,nullability -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CFLAGS
:
-fsanitize=undefined,nullability -fno-sanitize-recover=undefined,nullability -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
@@ -159,9 +159,9 @@ jobs:
...
@@ -159,9 +159,9 @@ jobs:
id
:
sanitizer-thread
id
:
sanitizer-thread
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang
-10
CC
:
clang
CFLAGS
:
-fsanitize=thread -fno-optimize-sibling-calls -fno-omit-frame-pointer
CFLAGS
:
-fsanitize=thread -fno-optimize-sibling-calls -fno-omit-frame-pointer
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
...
.github/workflows/nightly.yml
View file @
517d2cd3
...
@@ -27,42 +27,42 @@ jobs:
...
@@ -27,42 +27,42 @@ jobs:
matrix
:
matrix
:
platform
:
platform
:
# All builds: core platforms
# All builds: core platforms
-
name
:
"
Linux
(
Xenial
,
GCC,
OpenSSL,
libssh2)"
-
name
:
"
Linux
(
Noble
,
GCC,
OpenSSL,
libssh2)"
id
:
xenial
-gcc-openssl
id
:
noble
-gcc-openssl
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
noble
env
:
env
:
CC
:
gcc
CC
:
gcc
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2 -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -DREGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2 -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON
-
name
:
Linux (Xenial, GCC, mbedTLS, OpenSSH)
-
name
:
"
Linux
(Noble,
Clang,
mbedTLS,
OpenSSH)"
id
:
xenial-gcc
-mbedtls
id
:
noble-clang
-mbedtls
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
noble
env
:
env
:
CC
:
gcc
CC
:
clang
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec
-
name
:
"
Linux
(Xenial,
GCC,
OpenSSL,
OpenSSH)"
-
name
:
"
Linux
(Xenial,
Clang,
OpenSSL,
OpenSSH)"
id
:
xenial-gcc-openssl
id
:
xenial-clang-openssl
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
xenial
env
:
env
:
CC
:
clang
CC
:
gcc
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -D
DEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec
CMAKE_OPTIONS
:
-DUSE_HTTPS=OpenSSL -D
REGEX_BACKEND=builtin -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=exec -DDEBUG_STRICT_ALLOC=ON -DDEBUG_STRICT_OPEN=ON
-
name
:
"
Linux
(Xenial,
Clang,
mbedTLS,
libssh2)"
-
name
:
"
Linux
(Xenial,
Clang,
mbedTLS,
libssh2)"
id
:
xenial-
clang
-mbedtls
id
:
xenial-
gcc
-mbedtls
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
xenial
name
:
xenial
env
:
env
:
CC
:
clang
CC
:
clang
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
CMAKE_OPTIONS
:
-DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=libssh2
-
name
:
"
macOS"
-
name
:
"
macOS"
id
:
macos
id
:
macos
os
:
macos-12
os
:
macos-12
...
@@ -127,9 +127,9 @@ jobs:
...
@@ -127,9 +127,9 @@ jobs:
-
name
:
"
Sanitizer
(Memory)"
-
name
:
"
Sanitizer
(Memory)"
id
:
memorysanitizer
id
:
memorysanitizer
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang-1
0
CC
:
clang-1
7
CFLAGS
:
-fsanitize=memory -fsanitize-memory-track-origins=2 -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CFLAGS
:
-fsanitize=memory -fsanitize-memory-track-origins=2 -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local/msan -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local/msan -DUSE_HTTPS=mbedTLS -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
@@ -142,9 +142,9 @@ jobs:
...
@@ -142,9 +142,9 @@ jobs:
id
:
ubsanitizer
id
:
ubsanitizer
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang-1
0
CC
:
clang-1
7
CFLAGS
:
-fsanitize=undefined,nullability -fno-sanitize-recover=undefined,nullability -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CFLAGS
:
-fsanitize=undefined,nullability -fno-sanitize-recover=undefined,nullability -fsanitize-blacklist=/home/libgit2/source/script/sanitizers.supp -fno-optimize-sibling-calls -fno-omit-frame-pointer
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
@@ -156,9 +156,9 @@ jobs:
...
@@ -156,9 +156,9 @@ jobs:
id
:
threadsanitizer
id
:
threadsanitizer
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang-1
0
CC
:
clang-1
7
CFLAGS
:
-fsanitize=thread -fno-optimize-sibling-calls -fno-omit-frame-pointer
CFLAGS
:
-fsanitize=thread -fno-optimize-sibling-calls -fno-omit-frame-pointer
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local -DUSE_HTTPS=OpenSSL -DUSE_SHA1=HTTPS -DREGEX_BACKEND=pcre -DDEPRECATE_HARD=ON -DUSE_BUNDLED_ZLIB=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
@@ -277,12 +277,12 @@ jobs:
...
@@ -277,12 +277,12 @@ jobs:
CMAKE_OPTIONS
:
-DTHREADSAFE=OFF -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=ON
CMAKE_OPTIONS
:
-DTHREADSAFE=OFF -DDEPRECATE_HARD=ON -DUSE_LEAK_CHECKER=valgrind -DUSE_GSSAPI=ON -DUSE_SSH=ON
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
-
name
:
"
Linux
(no
mmap)"
-
name
:
"
Linux
(no
mmap)"
id
:
focal
-nommap
id
:
noble
-nommap
os
:
ubuntu-latest
os
:
ubuntu-latest
container
:
container
:
name
:
focal
name
:
noble
env
:
env
:
CC
:
clang-10
CC
:
gcc
CFLAGS
:
-DNO_MMAP
CFLAGS
:
-DNO_MMAP
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local
CMAKE_OPTIONS
:
-DCMAKE_PREFIX_PATH=/usr/local
CMAKE_GENERATOR
:
Ninja
CMAKE_GENERATOR
:
Ninja
...
...
ci/docker/centos7
View file @
517d2cd3
...
@@ -18,13 +18,13 @@ RUN yum install -y \
...
@@ -18,13 +18,13 @@ RUN yum install -y \
FROM yum AS libssh2
FROM yum AS libssh2
RUN cd /tmp && \
RUN cd /tmp && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.
8
.0.tar.gz | tar -xz && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.
11
.0.tar.gz | tar -xz && \
cd libssh2-1.
8
.0 && \
cd libssh2-1.
11
.0 && \
./configure && \
./configure && \
make && \
make && \
make install && \
make install && \
cd .. && \
cd .. && \
rm -rf libssh-1.
8
.0
rm -rf libssh-1.
11
.0
FROM libssh2 AS valgrind
FROM libssh2 AS valgrind
RUN cd /tmp && \
RUN cd /tmp && \
...
...
ci/docker/centos8
View file @
517d2cd3
...
@@ -24,13 +24,13 @@ RUN yum install -y \
...
@@ -24,13 +24,13 @@ RUN yum install -y \
FROM yum AS libssh2
FROM yum AS libssh2
RUN cd /tmp && \
RUN cd /tmp && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.
8
.0.tar.gz | tar -xz && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.
11
.0.tar.gz | tar -xz && \
cd libssh2-1.
8
.0 && \
cd libssh2-1.
11
.0 && \
./configure && \
./configure && \
make && \
make && \
make install && \
make install && \
cd .. && \
cd .. && \
rm -rf libssh2-1.
8
.0
rm -rf libssh2-1.
11
.0
FROM libssh2 AS valgrind
FROM libssh2 AS valgrind
RUN cd /tmp && \
RUN cd /tmp && \
...
...
ci/docker/focal
View file @
517d2cd3
...
@@ -53,7 +53,7 @@ RUN cd /tmp && \
...
@@ -53,7 +53,7 @@ RUN cd /tmp && \
cd libssh2-1.9.0 && \
cd libssh2-1.9.0 && \
mkdir build build-msan && \
mkdir build build-msan && \
cd build && \
cd build && \
CC=clang-10 CFLAGS="-fPIC" cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DC
RYPTO_BACKEND=Libgcrypt -DC
MAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
CC=clang-10 CFLAGS="-fPIC" cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
ninja install && \
ninja install && \
cd ../build-msan && \
cd ../build-msan && \
CC=clang-10 CFLAGS="-fPIC -fsanitize=memory -fno-optimize-sibling-calls -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer" LDFLAGS="-fsanitize=memory" cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCRYPTO_BACKEND=mbedTLS -DCMAKE_PREFIX_PATH=/usr/local/msan -DCMAKE_INSTALL_PREFIX=/usr/local/msan .. && \
CC=clang-10 CFLAGS="-fPIC -fsanitize=memory -fno-optimize-sibling-calls -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer" LDFLAGS="-fsanitize=memory" cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCRYPTO_BACKEND=mbedTLS -DCMAKE_PREFIX_PATH=/usr/local/msan -DCMAKE_INSTALL_PREFIX=/usr/local/msan .. && \
...
...
ci/docker/noble
0 → 100644
View file @
517d2cd3
ARG BASE=ubuntu:noble
FROM ${BASE} AS apt
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
bzip2 \
clang \
cmake \
curl \
gcc \
git \
krb5-user \
libclang-rt-17-dev \
libcurl4-gnutls-dev \
libgcrypt20-dev \
libkrb5-dev \
libpcre3-dev \
libssl-dev \
libz-dev \
llvm-17 \
make \
ninja-build \
openjdk-8-jre-headless \
openssh-server \
openssl \
pkgconf \
python3 \
sudo \
valgrind \
&& \
rm -rf /var/lib/apt/lists/* && \
mkdir /usr/local/msan
FROM apt AS mbedtls
RUN cd /tmp && \
curl --location --silent --show-error https://github.com/Mbed-TLS/mbedtls/archive/refs/tags/mbedtls-2.28.6.tar.gz | \
tar -xz && \
cd mbedtls-mbedtls-2.28.6 && \
scripts/config.pl unset MBEDTLS_AESNI_C && \
scripts/config.pl set MBEDTLS_MD4_C 1 && \
mkdir build build-msan && \
cd build && \
CC=clang-17 CFLAGS="-fPIC" cmake -G Ninja -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DUSE_STATIC_MBEDTLS_LIBRARY=OFF -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
ninja install && \
cd ../build-msan && \
CC=clang-17 CFLAGS="-fPIC" cmake -G Ninja -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DUSE_STATIC_MBEDTLS_LIBRARY=OFF -DCMAKE_BUILD_TYPE=MemSanDbg -DCMAKE_INSTALL_PREFIX=/usr/local/msan .. && \
ninja install && \
cd .. && \
rm -rf mbedtls-mbedtls-2.28.6
FROM mbedtls AS libssh2
RUN cd /tmp && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.11.0.tar.gz | tar -xz && \
cd libssh2-1.11.0 && \
mkdir build build-msan && \
cd build && \
CC=clang-17 CFLAGS="-fPIC" cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local .. && \
ninja install && \
cd ../build-msan && \
CC=clang-17 CFLAGS="-fPIC -fsanitize=memory -fno-optimize-sibling-calls -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer" LDFLAGS="-fsanitize=memory" cmake -G Ninja -DBUILD_SHARED_LIBS=ON -DCRYPTO_BACKEND=mbedTLS -DCMAKE_PREFIX_PATH=/usr/local/msan -DCMAKE_INSTALL_PREFIX=/usr/local/msan .. && \
ninja install && \
cd .. && \
rm -rf libssh2-1.11.0
FROM libssh2 AS valgrind
RUN cd /tmp && \
curl --insecure --location --silent --show-error https://sourceware.org/pub/valgrind/valgrind-3.22.0.tar.bz2 | \
tar -xj && \
cd valgrind-3.22.0 && \
CC=clang-17 ./configure && \
make MAKEFLAGS="-j -l$(grep -c ^processor /proc/cpuinfo)" && \
make install && \
cd .. && \
rm -rf valgrind-3.22.0
FROM valgrind AS adduser
ARG UID=""
ARG GID=""
RUN if [ "${UID}" != "" ]; then USER_ARG="--uid ${UID}"; fi && \
if [ "${GID}" != "" ]; then GROUP_ARG="--gid ${GID}"; fi && \
groupadd ${GROUP_ARG} libgit2 && \
useradd ${USER_ARG} --gid libgit2 --shell /bin/bash --create-home libgit2
FROM adduser AS ldconfig
RUN ldconfig
FROM ldconfig AS configure
RUN mkdir /var/run/sshd
ci/docker/xenial
View file @
517d2cd3
...
@@ -53,12 +53,12 @@ RUN cd /tmp && \
...
@@ -53,12 +53,12 @@ RUN cd /tmp && \
FROM mbedtls AS libssh2
FROM mbedtls AS libssh2
RUN cd /tmp && \
RUN cd /tmp && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.
8.2
.tar.gz | tar -xz && \
curl --location --silent --show-error https://www.libssh2.org/download/libssh2-1.
11.0
.tar.gz | tar -xz && \
cd libssh2-1.
8.2
&& \
cd libssh2-1.
11.0
&& \
CFLAGS=-fPIC cmake -G Ninja -DBUILD_SHARED_LIBS=ON
-DCRYPTO_BACKEND=Libgcrypt
. && \
CFLAGS=-fPIC cmake -G Ninja -DBUILD_SHARED_LIBS=ON . && \
ninja install && \
ninja install && \
cd .. && \
cd .. && \
rm -rf libssh2-1.
8.2
rm -rf libssh2-1.
11.0
FROM libssh2 AS valgrind
FROM libssh2 AS valgrind
RUN cd /tmp && \
RUN cd /tmp && \
...
...
ci/test.sh
View file @
517d2cd3
...
@@ -25,6 +25,8 @@ CTEST=$(which ctest)
...
@@ -25,6 +25,8 @@ CTEST=$(which ctest)
TMPDIR
=
${
TMPDIR
:-
/tmp
}
TMPDIR
=
${
TMPDIR
:-
/tmp
}
USER
=
${
USER
:-$(
whoami
)}
USER
=
${
USER
:-$(
whoami
)}
GITTEST_SSH_KEYTYPE
=
${
GITTEST_SSH_KEYTYPE
:
=
"ecdsa"
}
HOME
=
`
mktemp
-d
${
TMPDIR
}
/home.XXXXXXXX
`
HOME
=
`
mktemp
-d
${
TMPDIR
}
/home.XXXXXXXX
`
export
CLAR_HOMEDIR
=
${
HOME
}
export
CLAR_HOMEDIR
=
${
HOME
}
...
@@ -207,7 +209,7 @@ if should_run "SSH_TESTS"; then
...
@@ -207,7 +209,7 @@ if should_run "SSH_TESTS"; then
Port 2222
Port 2222
ListenAddress 0.0.0.0
ListenAddress 0.0.0.0
Protocol 2
Protocol 2
HostKey
${
SSHD_DIR
}
/id_
rsa
HostKey
${
SSHD_DIR
}
/id_
${
GITTEST_SSH_KEYTYPE
}
PidFile
${
SSHD_DIR
}
/pid
PidFile
${
SSHD_DIR
}
/pid
AuthorizedKeysFile
${
HOME
}
/.ssh/authorized_keys
AuthorizedKeysFile
${
HOME
}
/.ssh/authorized_keys
LogLevel DEBUG
LogLevel DEBUG
...
@@ -216,21 +218,21 @@ if should_run "SSH_TESTS"; then
...
@@ -216,21 +218,21 @@ if should_run "SSH_TESTS"; then
PubkeyAuthentication yes
PubkeyAuthentication yes
ChallengeResponseAuthentication no
ChallengeResponseAuthentication no
StrictModes no
StrictModes no
HostCertificate
${
SSHD_DIR
}
/id_
rsa
.pub
HostCertificate
${
SSHD_DIR
}
/id_
${
GITTEST_SSH_KEYTYPE
}
.pub
HostKey
${
SSHD_DIR
}
/id_
rsa
HostKey
${
SSHD_DIR
}
/id_
${
GITTEST_SSH_KEYTYPE
}
# Required here as sshd will simply close connection otherwise
# Required here as sshd will simply close connection otherwise
UsePAM no
UsePAM no
EOF
EOF
ssh-keygen
-t
rsa
-f
"
${
SSHD_DIR
}
/id_rsa
"
-N
""
-q
ssh-keygen
-t
"
${
GITTEST_SSH_KEYTYPE
}
"
-f
"
${
SSHD_DIR
}
/id_
${
GITTEST_SSH_KEYTYPE
}
"
-N
""
-q
/usr/sbin/sshd
-f
"
${
SSHD_DIR
}
/sshd_config"
-E
"
${
SSHD_DIR
}
/log"
/usr/sbin/sshd
-f
"
${
SSHD_DIR
}
/sshd_config"
-E
"
${
SSHD_DIR
}
/log"
# Set up keys
# Set up keys
mkdir
"
${
HOME
}
/.ssh"
mkdir
"
${
HOME
}
/.ssh"
ssh-keygen
-t
rsa
-f
"
${
HOME
}
/.ssh/id_rsa
"
-N
""
-q
ssh-keygen
-t
"
${
GITTEST_SSH_KEYTYPE
}
"
-f
"
${
HOME
}
/.ssh/id_
${
GITTEST_SSH_KEYTYPE
}
"
-N
""
-q
cat
"
${
HOME
}
/.ssh/id_
rsa
.pub"
>>
"
${
HOME
}
/.ssh/authorized_keys"
cat
"
${
HOME
}
/.ssh/id_
${
GITTEST_SSH_KEYTYPE
}
.pub"
>>
"
${
HOME
}
/.ssh/authorized_keys"
while
read
algorithm key comment
;
do
while
read
algorithm key comment
;
do
echo
"[localhost]:2222
$algorithm
$key
"
>>
"
${
HOME
}
/.ssh/known_hosts"
echo
"[localhost]:2222
$algorithm
$key
"
>>
"
${
HOME
}
/.ssh/known_hosts"
done
<
"
${
SSHD_DIR
}
/id_
rsa
.pub"
done
<
"
${
SSHD_DIR
}
/id_
${
GITTEST_SSH_KEYTYPE
}
.pub"
# Append the github.com keys for the tests that don't override checks.
# Append the github.com keys for the tests that don't override checks.
# We ask for ssh-rsa to test that the selection based off of known_hosts
# We ask for ssh-rsa to test that the selection based off of known_hosts
...
@@ -428,12 +430,12 @@ fi
...
@@ -428,12 +430,12 @@ fi
if
should_run
"SSH_TESTS"
;
then
if
should_run
"SSH_TESTS"
;
then
export
GITTEST_REMOTE_USER
=
$USER
export
GITTEST_REMOTE_USER
=
$USER
export
GITTEST_REMOTE_SSH_KEY
=
"
${
HOME
}
/.ssh/id_
rsa
"
export
GITTEST_REMOTE_SSH_KEY
=
"
${
HOME
}
/.ssh/id_
${
GITTEST_SSH_KEYTYPE
}
"
export
GITTEST_REMOTE_SSH_PUBKEY
=
"
${
HOME
}
/.ssh/id_
rsa
.pub"
export
GITTEST_REMOTE_SSH_PUBKEY
=
"
${
HOME
}
/.ssh/id_
${
GITTEST_SSH_KEYTYPE
}
.pub"
export
GITTEST_REMOTE_SSH_PASSPHRASE
=
""
export
GITTEST_REMOTE_SSH_PASSPHRASE
=
""
export
GITTEST_REMOTE_SSH_FINGERPRINT
=
"
${
SSH_FINGERPRINT
}
"
export
GITTEST_REMOTE_SSH_FINGERPRINT
=
"
${
SSH_FINGERPRINT
}
"
export
GITTEST_SSH_CMD
=
"ssh -i
${
HOME
}
/.ssh/id_
rsa
-o UserKnownHostsFile=
${
HOME
}
/.ssh/known_hosts"
export
GITTEST_SSH_CMD
=
"ssh -i
${
HOME
}
/.ssh/id_
${
GITTEST_SSH_KEYTYPE
}
-o UserKnownHostsFile=
${
HOME
}
/.ssh/known_hosts"
echo
""
echo
""
echo
"Running ssh tests"
echo
"Running ssh tests"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment