Skip to content

(xmlsec-nss) Added runtime check for the enabled algorithms in NSS (issue #730) #1138

(xmlsec-nss) Added runtime check for the enabled algorithms in NSS (issue #730)

(xmlsec-nss) Added runtime check for the enabled algorithms in NSS (issue #730) #1138

Workflow file for this run

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