mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 15:47:01 +02:00
CI: Add in-memory cache for the latest OpenSSL/LibreSSL
These functions were previously called once per compiler. Add the `lru_cache` decorator to only perform one HTTP request each.
This commit is contained in:
parent
3c9b6f6394
commit
fcc21be922
3
.github/matrix.py
vendored
3
.github/matrix.py
vendored
@ -8,6 +8,7 @@
|
|||||||
# as published by the Free Software Foundation; either version
|
# as published by the Free Software Foundation; either version
|
||||||
# 2 of the License, or (at your option) any later version.
|
# 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
import functools
|
||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
import urllib.request
|
import urllib.request
|
||||||
@ -25,6 +26,7 @@ print("Generating matrix for branch '{}'.".format(ref_name))
|
|||||||
def clean_ssl(ssl):
|
def clean_ssl(ssl):
|
||||||
return ssl.replace("_VERSION", "").lower()
|
return ssl.replace("_VERSION", "").lower()
|
||||||
|
|
||||||
|
@functools.lru_cache(5)
|
||||||
def determine_latest_openssl(ssl):
|
def determine_latest_openssl(ssl):
|
||||||
headers = {'Authorization': 'token ' + environ.get('GITHUB_API_TOKEN')} if environ.get('GITHUB_API_TOKEN') else {}
|
headers = {'Authorization': 'token ' + environ.get('GITHUB_API_TOKEN')} if environ.get('GITHUB_API_TOKEN') else {}
|
||||||
request = urllib.request.Request('https://api.github.com/repos/openssl/openssl/tags', headers=headers)
|
request = urllib.request.Request('https://api.github.com/repos/openssl/openssl/tags', headers=headers)
|
||||||
@ -38,6 +40,7 @@ def determine_latest_openssl(ssl):
|
|||||||
latest_tag = name
|
latest_tag = name
|
||||||
return "OPENSSL_VERSION={}".format(latest_tag[8:])
|
return "OPENSSL_VERSION={}".format(latest_tag[8:])
|
||||||
|
|
||||||
|
@functools.lru_cache(5)
|
||||||
def determine_latest_libressl(ssl):
|
def determine_latest_libressl(ssl):
|
||||||
libressl_download_list = urllib.request.urlopen("http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/")
|
libressl_download_list = urllib.request.urlopen("http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/")
|
||||||
for line in libressl_download_list.readlines():
|
for line in libressl_download_list.readlines():
|
||||||
|
Loading…
Reference in New Issue
Block a user