Skip to content

Commit

Permalink
Add Ubuntu 24.04 LTS Noble to CI (#162)
Browse files Browse the repository at this point in the history
* Fix build on Ubuntu 24.04 LTS

* Fix Ubuntu 24.04 build

* Update nginx versions
  • Loading branch information
VirtuBox committed Jun 3, 2024
1 parent ad76713 commit 69e355a
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 19 deletions.
23 changes: 9 additions & 14 deletions .github/workflows/blank.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
- develop
- master
- dev
- ci
pull_request:
branches:
- master
Expand All @@ -18,37 +19,31 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]

os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
steps:
- uses: actions/checkout@v4
- name: Prepare VM
run: |
sudo apt-get update -qq
sudo apt install make libunwind-dev libgoogle-perftools-dev
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y
sudo rm -rf /etc/mysql /var/lib/mysql /etc/nginx
sudo apt-get purge --option=Dpkg::options::=--force-all --assume-yes graphviz* redis* mysql* nginx || sudo dpkg --configure -a
run: sudo bash tests.sh
- name: Mainline build
run: sudo bash nginx-build.sh || cat /tmp/nginx-ee.log
run: sudo bash nginx-build.sh --travis || cat /tmp/nginx-ee.log
- name : Nginx check Mainline build
run: sudo nginx -V || cat /tmp/nginx-ee.log
- name: Stable build
run: sudo bash nginx-build.sh --stable
run: sudo bash nginx-build.sh --travis --stable
- name : Nginx check Stable build
run: sudo nginx -V
- name: Full build stable
run: sudo bash nginx-build.sh --full --stable
run: sudo bash nginx-build.sh --travis --full --stable
- name : Nginx check Full build stable
run: sudo nginx -V
- name: Mainline naxsi
run: sudo bash nginx-build.sh --naxsi || cat /tmp/nginx-ee.log
run: sudo bash nginx-build.sh --naxsi --travis || cat /tmp/nginx-ee.log
- name : Nginx check Mainline naxsi
run: sudo nginx -V
- name: libressl build
run: sudo bash nginx-build.sh --libressl || cat /tmp/nginx-ee.log
run: sudo bash nginx-build.sh --libressl --travis || cat /tmp/nginx-ee.log
- name : Nginx check libressl build
run: sudo nginx -V
- name: dynamic build
run: sudo bash nginx-build.sh --dynamic || cat /tmp/nginx-ee.log
run: sudo bash nginx-build.sh --dynamic --travis || cat /tmp/nginx-ee.log

4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ Automated Nginx compilation from sources with HTTP/3 QUIC and additional modules

## Additional Third-party modules

Nginx current mainline release : **v1.25.5** with HTTP/3 QUIC
Nginx current mainline release : **v1.27.0** with HTTP/3 QUIC

Nginx current stable release : **v1.26.0** with HTTP/3 QUIC
Nginx current stable release : **v1.26.1** with HTTP/3 QUIC

* [ngx_cache_purge](https://github.com/FRiCKLE/ngx_cache_purge)
* [headers-more-nginx-module](https://github.com/openresty/headers-more-nginx-module)
Expand Down
8 changes: 5 additions & 3 deletions nginx-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ TLS13_CIPHERS="TLS13+AESGCM+AES256:TLS13+AESGCM+AES128:TLS13+CHACHA20:EECDH+CHAC
readonly OS_ARCH="$(uname -m)"
OS_DISTRO_FULL="$(lsb_release -ds)"
readonly DISTRO_ID="$(lsb_release -si)"
DISTRO_CODENAME="$(lsb_release -sc)"

# Colors
CSI='\033['
Expand Down Expand Up @@ -269,7 +270,6 @@ fi

if [ "$LIBRESSL" = "y" ]; then
NGX_SSL_LIB="--with-openssl=../libressl"
QUIC_VALID="YES"
LIBRESSL_VALID="YES"
OPENSSL_OPT=""
else
Expand All @@ -282,7 +282,9 @@ else
fi
NGX_SSL_LIB=""
OPENSSL_VALID="from system"
LIBSSL_DEV="libssl-dev"
if [ "$TRAVIS_BUILD" != "1" ]; then
LIBSSL_DEV="libssl-dev"
fi

fi

Expand Down Expand Up @@ -799,7 +801,7 @@ _configure_nginx() {
fi

if [ "$OS_ARCH" = 'x86_64' ]; then
if [ "$DISTRO_ID" = "Ubuntu" ]; then
if [ "$DISTRO_ID" = "Ubuntu" ] && [ "$DISTRO_CODENAME" != "noble" ]; then
DEB_CFLAGS='-m64 -march=native -mtune=native -DTCP_FASTOPEN=23 -g -O3 -fstack-protector-strong -flto -ffat-lto-objects -fuse-ld=gold --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wimplicit-fallthrough=0 -fcode-hoisting -Wp,-D_FORTIFY_SOURCE=2 -gsplit-dwarf'
DEB_LFLAGS='-lrt -ljemalloc -Wl,-z,relro -Wl,-z,now -fPIC -flto -ffat-lto-objects'
fi
Expand Down
7 changes: 7 additions & 0 deletions tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
apt-get update -qq >/dev/null 2>&1
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php -y >/dev/null 2>&1
rm -rf /etc/mysql /var/lib/mysql /etc/nginx
apt-get install make libunwind-dev libgoogle-perftools-dev -y >/dev/null 2>&1
apt-get purge --option=Dpkg::options::=--force-all --assume-yes graphviz* redis* php* mysql* nginx* >/dev/null 2>&1
apt-get -qq autoremove --purge >/dev/null 2>&1

0 comments on commit 69e355a

Please sign in to comment.