mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
CI: determine actual LibreSSL version dynamically
this change introduce "LIBRESSL_VERSION=latest" semantic, which scans http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ and detects latest release. LIBRESSL_VERSION=2.9.2 is removed from the matrix.
This commit is contained in:
parent
370332572b
commit
94cd779a4f
14
.github/matrix.py
vendored
14
.github/matrix.py
vendored
@ -10,6 +10,8 @@
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
|
import urllib.request
|
||||||
|
import re
|
||||||
|
|
||||||
if len(sys.argv) == 2:
|
if len(sys.argv) == 2:
|
||||||
build_type = sys.argv[1]
|
build_type = sys.argv[1]
|
||||||
@ -31,6 +33,13 @@ def clean_os(os):
|
|||||||
def clean_ssl(ssl):
|
def clean_ssl(ssl):
|
||||||
return ssl.replace("_VERSION", "").lower()
|
return ssl.replace("_VERSION", "").lower()
|
||||||
|
|
||||||
|
def determine_latest_libressl(ssl):
|
||||||
|
libressl_download_list = urllib.request.urlopen("http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/")
|
||||||
|
for line in libressl_download_list.readlines():
|
||||||
|
decoded_line = line.decode("utf-8")
|
||||||
|
if "libressl-" in decoded_line and ".tar.gz.asc" in decoded_line:
|
||||||
|
l = re.split("libressl-|.tar.gz.asc", decoded_line)[1]
|
||||||
|
return "LIBRESSL={}".format(l)
|
||||||
|
|
||||||
def clean_compression(compression):
|
def clean_compression(compression):
|
||||||
return compression.replace("USE_", "").lower()
|
return compression.replace("USE_", "").lower()
|
||||||
@ -111,8 +120,7 @@ for CC in ["gcc", "clang"]:
|
|||||||
"stock",
|
"stock",
|
||||||
"OPENSSL_VERSION=1.0.2u",
|
"OPENSSL_VERSION=1.0.2u",
|
||||||
"OPENSSL_VERSION=3.0.2",
|
"OPENSSL_VERSION=3.0.2",
|
||||||
"LIBRESSL_VERSION=2.9.2",
|
"LIBRESSL_VERSION=latest",
|
||||||
"LIBRESSL_VERSION=3.5.2",
|
|
||||||
"QUICTLS=yes",
|
"QUICTLS=yes",
|
||||||
# "BORINGSSL=yes",
|
# "BORINGSSL=yes",
|
||||||
]:
|
]:
|
||||||
@ -122,6 +130,8 @@ for CC in ["gcc", "clang"]:
|
|||||||
if ssl != "stock":
|
if ssl != "stock":
|
||||||
flags.append("SSL_LIB=${HOME}/opt/lib")
|
flags.append("SSL_LIB=${HOME}/opt/lib")
|
||||||
flags.append("SSL_INC=${HOME}/opt/include")
|
flags.append("SSL_INC=${HOME}/opt/include")
|
||||||
|
if "LIBRESSL" in ssl and "latest" in ssl:
|
||||||
|
ssl = determine_latest_libressl(ssl)
|
||||||
matrix.append(
|
matrix.append(
|
||||||
{
|
{
|
||||||
"name": "{}, {}, ssl={}".format(clean_os(os), CC, clean_ssl(ssl)),
|
"name": "{}, {}, ssl={}".format(clean_os(os), CC, clean_ssl(ssl)),
|
||||||
|
Loading…
Reference in New Issue
Block a user