Merge pull request #806 from jajik/MODCLUSTER-823 #770
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 | |
podman pull fedora:39 | |
- name: Create container and build | |
run: | | |
{ | |
echo 'FROM fedora:39' | |
echo 'RUN dnf install cmake httpd-devel ${{ matrix.compiler }} -y' | |
echo 'RUN dnf groupinstall "C Development Tools and Libraries" -y' | |
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' | |
} > podmanfile | |
podman build -f ./podmanfile | |
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 | |
podman pull fedora:39 | |
- name: Create container and build | |
run: | | |
{ | |
echo 'FROM fedora:39' | |
echo 'RUN dnf install httpd-devel redhat-rpm-config -y' | |
echo 'RUN dnf groupinstall "C Development Tools and Libraries" -y' | |
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;' | |
} > podmanfile | |
podman build -f ./podmanfile |