Update README - add support matrix and mod_authz_unixgroup info #85
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: 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 |