Merge pull request #866 from rhusar/1.3.x-containerfile #393
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
ci: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
java: [ 1.8 ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v1 | |
with: | |
java-version: ${{ matrix.java }} | |
- name: Cache local Maven repository | |
uses: actions/cache@v2 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: Build with Maven | |
run: mvn -B package -P dist | |
cmake-fedora-latest: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
compiler: [ gcc, clang ] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
path: mod_proxy_cluster | |
- name: Setup Podman | |
run: | | |
sudo apt update | |
sudo apt-get -y install podman | |
- name: Create container and build | |
run: | | |
{ | |
echo 'FROM fedora:41' | |
echo 'RUN dnf install --assumeyes @c-development cmake httpd-devel ${{ matrix.compiler }}' | |
echo 'RUN dnf clean all' | |
echo 'COPY mod_proxy_cluster mod_proxy_cluster' | |
echo 'WORKDIR /mod_proxy_cluster/native' | |
echo 'RUN cmake . -DCMAKE_C_COMPILER=${{ matrix.compiler }}' | |
echo 'RUN make' | |
} > Containerfile | |
podman build . | |
name: cmake-fedora-latest | |
make-fedora-latest: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
path: mod_proxy_cluster | |
- name: Setup Podman | |
run: | | |
sudo apt update | |
sudo apt-get -y install podman | |
- name: Create container and build | |
run: | | |
{ | |
echo 'FROM fedora:41' | |
echo 'RUN dnf install --assumeyes @c-development httpd-devel redhat-rpm-config' | |
echo 'RUN dnf clean all' | |
echo 'COPY mod_proxy_cluster mod_proxy_cluster' | |
echo 'WORKDIR /mod_proxy_cluster/native' | |
echo 'RUN \' | |
echo 'for module in advertise mod_cluster_slotmem mod_manager mod_proxy_cluster; do \' | |
echo ' echo Building: $module; \' | |
echo ' cd $module; \' | |
echo ' sh buildconf; \' | |
echo ' ./configure --with-apxs=$APACHE_DIR/bin/apxs; \' | |
echo ' make clean; \' | |
# Ensure the build fails in case of a failure in any of the module builds! | |
echo ' make || exit 1; \' | |
echo ' cd ..; \' | |
echo 'done;' | |
} > Containerfile | |
podman build . | |
make-with-httpd-trunk: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
path: mod_proxy_cluster | |
- name: Checkout latest httpd | |
uses: actions/checkout@v4 | |
with: | |
repository: apache/httpd | |
path: httpd | |
- name: Checkout apr for httpd | |
uses: actions/checkout@v4 | |
with: | |
repository: apache/apr | |
path: httpd/srclib/apr | |
- name: Install necessary packages | |
run: | | |
ls | |
sudo apt-get update | |
sudo apt-get install cmake gcc cmake gcc make libtool libtool-bin python3 autoconf libxml2-dev libpcre2-dev -y | |
- name: Build httpd | |
run: | | |
ls | |
export "APACHE_DIR=/usr/local/apache2/" | |
cd httpd | |
./buildconf | |
./configure --prefix=/usr/local/apache2 --with-included-apr --enable-proxy-ajp --enable-maintainer-mode \ | |
--enable-so --enable-proxy --enable-proxy-http --enable-proxy-wstunned --enable-proxy-hcheck \ | |
--with-port=8000 | |
sudo make | |
sudo make install | |
- name: Build mod_proxy_cluster | |
run: | | |
ls | |
cd mod_proxy_cluster/native | |
for module in advertise/ mod_proxy_cluster/ mod_cluster_slotmem/ mod_manager/; do \ | |
cd $module; \ | |
sh buildconf; \ | |
./configure CFLAGS="-Wall -Werror" --with-apxs=/usr/local/apache2/bin/apxs; \ | |
make clean; \ | |
make || exit 1; \ | |
cd ..; \ | |
done; | |