Skip to content

Update README - add support matrix and mod_authz_unixgroup info #85

Update README - add support matrix and mod_authz_unixgroup info

Update README - add support matrix and mod_authz_unixgroup info #85

Workflow file for this run

name: Build Status
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
name: ${{ matrix.os }} build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v2
- name: install apache and libbsd (ubuntu)
if: runner.os == 'Linux'
run: sudo apt-get install apache2 apache2-dev libbsd-dev
- name: install apache and libbsd (macos)
if: runner.os == 'macOS'
run: |
# use latest master, not stable (until libbsd mac version is in stable)
brew developer on
# grab master version of libbsd with mac support
brew update
brew install httpd libbsd
- name: make mod_authnz_external (POSIX-GCC)
if: runner.os != 'Windows'
run: make
working-directory: ./mod_authnz_external
- name: make mod_authz_unixgroup (POSIX-GCC)
if: runner.os != 'Windows'
run: make
working-directory: ./mod_authz_unixgroup
- name: nmake (MSVC)
if: runner.os == 'Windows'
run: |
# find and set APACHEPATH environment variable
$env:APACHEPATH = Join-Path "C:\tools\" (Get-Item C:\tools\apache*).Name
# set it for real, GH Actions uses a new Powershell for each step
[System.Environment]::SetEnvironmentVariable('APACHEPATH',$env:APACHEPATH,'Machine')
# this 'apr_perms_set.h' header is missing from Chocolatey's Apache install
Invoke-WebRequest https://raw.githubusercontent.com/traviscross/apr/master/include/apr_perms_set.h -OutFile (Join-Path ($env:APACHEPATH) "include\apr_perms_set.h")
# call vcvars.bat to setup the environment, then call nmake to build the module
echo "call ""$((Get-VisualStudioInstance).InstallationPath)\VC\Auxiliary\Build\vcvars64.bat""" > winbuild.bat
echo "nmake -f ""$(pwd)\Makefile.win""" >> winbuild.bat
.\winbuild.bat
working-directory: ./mod_authnz_external
- name: make install mod_authnz_external (POSIX-GCC)
if: runner.os != 'Windows'
run: sudo make install
working-directory: ./mod_authnz_external
- name: make install mod_authz_unixgroup (POSIX-GCC)
if: runner.os != 'Windows'
run: sudo make install
working-directory: ./mod_authz_unixgroup
- name: install to apache (windows)
if: runner.os == 'Windows'
run: |
# get APACHEPATH
$env:APACHEPATH = [System.Environment]::GetEnvironmentVariable('APACHEPATH','Machine')
# manually install the compiled module in Apache
cp mod_authnz_external.so (Join-Path ($env:APACHEPATH) "modules\mod_authnz_external.so")
echo "LoadModule authnz_external_module modules/mod_authnz_external.so" >> (Join-Path ($env:APACHEPATH) "conf\httpd.conf")
working-directory: ./mod_authnz_external
- name: restart apache (ubuntu)
if: runner.os == 'Linux'
run: sudo service apache2 restart
- name: restart apache (macos)
if: runner.os == 'macOS'
run: brew services restart httpd
- name: restart apache (windows)
if: runner.os == 'Windows'
run: |
Stop-Service -Name w3svc
Set-Service Apache -StartupType Manual
Start-Service -Name Apache