Added examples to the build and tests #1122
Workflow file for this run
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: Make Check | |
on: | |
push: | |
branches: | |
- master | |
- xmlsec-1_2_x | |
pull_request: | |
branches: | |
- master | |
- xmlsec-1_2_x | |
jobs: | |
check-ubuntu-openssl300: | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- config_flags: | |
- config_flags: --enable-static --enable-static-linking --without-nss --without-gcrypt --without-gnutls | |
- config_flags: --enable-static --enable-static-linking --enable-ftp --enable-md5 --enable-gost --enable-gost2012 --without-openssl --without-nss --without-gcrypt | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt update | |
sudo apt install automake autoconf libtool libtool-bin libltdl-dev libltdl7 | |
sudo apt install libxml2 libxml2-dev libxslt1.1 libxslt1-dev | |
sudo apt install libssl1.1 libssl-dev libnspr4 libnspr4-dev libnss3 libnss3-dev libnss3-tools libgcrypt20 libgcrypt20-dev libgnutls28-dev | |
- uses: actions/checkout@v2 | |
- name: create-build-dirs | |
run: | | |
mkdir build.dir install.dir | |
- name: configure | |
working-directory: build.dir | |
run: | | |
../autogen.sh --prefix=${GITHUB_WORKSPACE}/install.dir --enable-werror --enable-pedantic ${{ matrix.config_flags }} | |
- name: make | |
working-directory: build.dir | |
run: | | |
make | |
- name: make check | |
working-directory: build.dir | |
run: | | |
make check | |
- name: make install | |
working-directory: build.dir | |
run: | | |
make install | |
check-ubuntu-openssl111: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- config_flags: | |
- config_flags: --enable-static-linking=yes --without-nss --without-gcrypt --without-gnutls | |
steps: | |
- name: install dependencies | |
run: | | |
sudo apt update | |
sudo apt install automake autoconf libtool libtool-bin libltdl-dev libltdl7 | |
sudo apt install libxml2 libxml2-dev libxslt1.1 libxslt1-dev | |
sudo apt install wget | |
- uses: actions/checkout@v2 | |
- name: create-build-dirs | |
run: | | |
mkdir build.dir install.dir | |
- name: configure | |
working-directory: build.dir | |
run: | | |
export LD_LIBRARY_PATH="/usr/local/openssl3/lib:/usr/local/openssl3/lib64:$LD_LIBRARY_PATH" | |
../autogen.sh --prefix=${GITHUB_WORKSPACE}/install.dir --enable-werror --enable-pedantic ${{ matrix.config_flags }} | |
- name: make | |
working-directory: build.dir | |
run: | | |
make | |
- name: make check | |
working-directory: build.dir | |
run: | | |
export LD_LIBRARY_PATH="/usr/local/openssl3/lib:/usr/local/openssl3/lib64:$LD_LIBRARY_PATH" | |
make check | |
- name: make install | |
working-directory: build.dir | |
run: | | |
make install | |
check-osx: | |
runs-on: macos-13 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- config_flags: | |
steps: | |
- name: Set up Homebrew | |
id: set-up-homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
- name: install dependencies | |
run: | | |
brew update | |
brew install automake autoconf pkg-config libtool | |
# brew install libxml2 libxslt | |
brew install openssl nspr nss libgcrypt gnutls | |
- uses: actions/checkout@v2 | |
- name: create-build-dirs | |
run: | | |
mkdir build.dir install.dir | |
- name: configure | |
working-directory: build.dir | |
run: | | |
../autogen.sh --prefix=${GITHUB_WORKSPACE}/install.dir --enable-werror --enable-pedantic \ | |
--with-openssl=`brew --prefix openssl` \ | |
--with-nspr=`brew --prefix nspr` \ | |
--with-nss=`brew --prefix nss` \ | |
--with-gcrypt=`brew --prefix libgcrypt` \ | |
--with-gnutls=`brew --prefix gnutls` \ | |
${{ matrix.config_flags }} | |
- name: make | |
working-directory: build.dir | |
run: | | |
make | |
- name: make check | |
working-directory: build.dir | |
run: | | |
export PATH=`brew --prefix openssl`/bin:$PATH | |
export LD_LIBRARY_PATH=`brew --prefix openssl`/lib:$LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=`brew --prefix nspr`/lib:$LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=`brew --prefix nss`/lib:$LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=`brew --prefix libgcrypt`/lib:$LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH=`brew --prefix gnutls`/lib:$LD_LIBRARY_PATH | |
make check | |
- name: make install | |
working-directory: build.dir | |
run: | | |
make install | |
check-mingw: | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- msystem: MINGW64 | |
arch: x86_64 | |
config_flags: --enable-unicode=yes | |
- msystem: MINGW64 | |
arch: x86_64 | |
config_flags: --enable-static --enable-static-linking --enable-unicode=no --enable-md5 --enable-ftp | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.msystem }} | |
release: false | |
update: false | |
install: >- | |
autoconf | |
automake | |
base-devel | |
git | |
libtool | |
mingw-w64-${{ matrix.arch }}-toolchain | |
mingw-w64-${{ matrix.arch }}-libxml2 | |
mingw-w64-${{ matrix.arch }}-libxslt | |
mingw-w64-${{ matrix.arch }}-libltdl | |
mingw-w64-${{ matrix.arch }}-openssl | |
mingw-w64-${{ matrix.arch }}-libgcrypt | |
mingw-w64-${{ matrix.arch }}-gnutls | |
- name: configure-git | |
run: | | |
git config --global core.autocrlf input | |
shell: bash | |
- uses: actions/checkout@v2 | |
- name: create-dirs | |
run: | | |
mkdir build.dir install.dir | |
shell: bash | |
- name: configure | |
working-directory: build.dir | |
run: | | |
../autogen.sh --prefix=`cygpath -u "${GITHUB_WORKSPACE}/install.dir"` --enable-werror --enable-pedantic \ | |
--enable-mscrypto --enable-mscng ${{ matrix.config_flags }} \ | |
--build="${{ matrix.arch }}-w64-mingw32" \ | |
--host="${{ matrix.arch }}-w64-mingw32" | |
- name: make | |
working-directory: build.dir | |
run: | | |
make | |
- name: make check | |
working-directory: build.dir | |
run: | | |
make check | |
- name: make install | |
working-directory: build.dir | |
run: | | |
make install | |
check-msvc: | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- crypto: mscng | |
config_flags: unicode=yes with-dl=yes | |
- crypto: mscng | |
config_flags: unicode=no with-dl=no static=yes legacy-crypto=yes ftp=yes | |
- crypto: mscrypto | |
config_flags: unicode=yes with-dl=yes | |
- crypto: mscrypto | |
config_flags: unicode=no with-dl=no static=yes legacy-crypto=yes ftp=yes | |
- crypto: openssl-300 | |
config_flags: unicode=yes with-dl=yes | |
- crypto: openssl-300 | |
config_flags: unicode=no with-dl=no static=yes | |
- crypto: openssl-111 | |
config_flags: unicode=yes with-dl=yes | |
- crypto: openssl-111 | |
config_flags: unicode=yes with-dl=yes static=yes | |
env: | |
VISUAL_STUDIO_ROOT: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise" | |
INSTALL_FOLDER: c:\install.dir | |
EXTRAS_URL: https://www.aleksey.com/xmlsec/download/extras | |
LIBXML2_FILE: libxml2-2.9.8-noiconv-win-x64.7z | |
LIBXSLT_FILE: libxslt-1.1.32-noiconv-win-x64.7z | |
OPENSSL300_FILE: openssl-3.0.3-win-x64.7z | |
OPENSSL111_FILE: openssl-1.1.1o-win-x64.7z | |
steps: | |
- name: create-dirs | |
run: | | |
mkdir ${{ env.INSTALL_FOLDER }} | |
- name: install dependencies | |
shell: pwsh | |
working-directory: ${{ env.INSTALL_FOLDER }} | |
run: | | |
Invoke-WebRequest ${{ env.EXTRAS_URL }}/${{ env.LIBXML2_FILE }} -O ${{ env.LIBXML2_FILE }} | |
7z x ${{ env.LIBXML2_FILE }} | |
Invoke-WebRequest ${{ env.EXTRAS_URL }}/${{ env.LIBXSLT_FILE }} -O ${{ env.LIBXSLT_FILE }} | |
7z x ${{ env.LIBXSLT_FILE }} | |
if("${{ matrix.crypto }}" -like "*openssl-300*") { | |
Invoke-WebRequest ${{ env.EXTRAS_URL }}/${{ env.OPENSSL300_FILE }} -O ${{ env.OPENSSL300_FILE }} | |
7z x ${{ env.OPENSSL300_FILE }} | |
} elseif("${{ matrix.crypto }}" -like "*openssl-111*") { | |
Invoke-WebRequest ${{ env.EXTRAS_URL }}/${{ env.OPENSSL111_FILE }} -O ${{ env.OPENSSL111_FILE }} | |
7z x ${{ env.OPENSSL111_FILE }} | |
} | |
- name: configure-git | |
shell: bash | |
run: | | |
git config --global core.autocrlf input | |
- uses: actions/checkout@v2 | |
- name: configure | |
working-directory: win32 | |
shell: cmd | |
run: | | |
call "${{ env.VISUAL_STUDIO_ROOT }}\VC\Auxiliary\Build\vcvars64.bat" | |
set PATH=${{ env.INSTALL_FOLDER }}\bin;${{ env.INSTALL_FOLDER }}\lib;;%PATH% | |
cscript configure.js pedantic=yes werror=yes static=yes iconv=no ^ | |
crypto=${{ matrix.crypto }} ${{ matrix.config_flags }} ^ | |
prefix=${{ env.INSTALL_FOLDER }} ^ | |
include=${{ env.INSTALL_FOLDER }}\include;${{ env.INSTALL_FOLDER }}\include\libxml2;%MSSDK_INCLUDE% ^ | |
lib=${{ env.INSTALL_FOLDER }}\bin;${{ env.INSTALL_FOLDER }}\lib;%MSSDK_LIB% | |
- name: make | |
working-directory: win32 | |
shell: cmd | |
run: | | |
call "${{ env.VISUAL_STUDIO_ROOT }}\VC\Auxiliary\Build\vcvars64.bat" | |
set PATH=${{ env.INSTALL_FOLDER }}\bin;${{ env.INSTALL_FOLDER }}\lib;;%PATH% | |
nmake | |
- name: make check | |
working-directory: win32 | |
shell: cmd | |
run: | | |
call "${{ env.VISUAL_STUDIO_ROOT }}\VC\Auxiliary\Build\vcvars64.bat" | |
set PATH=${{ env.INSTALL_FOLDER }}\bin;${{ env.INSTALL_FOLDER }}\lib;%PATH% | |
set OPENSSL_MODULES=${{ env.INSTALL_FOLDER }}\lib\ossl-modules | |
nmake check | |
- name: make install | |
working-directory: win32 | |
shell: cmd | |
run: | | |
call "${{ env.VISUAL_STUDIO_ROOT }}\VC\Auxiliary\Build\vcvars64.bat" | |
nmake install |