KRB5 workflow #318
Workflow file for this run
This file contains hidden or 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: x11vnc Tests | |
| # START OF COMMON SECTION | |
| on: | |
| push: | |
| branches: [ 'master', 'main', 'release/**' ] | |
| pull_request: | |
| branches: [ '*' ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| # END OF COMMON SECTION | |
| jobs: | |
| build_wolfprovider: | |
| uses: ./.github/workflows/build-wolfprovider.yml | |
| with: | |
| wolfssl_ref: ${{ matrix.wolfssl_ref }} | |
| openssl_ref: ${{ matrix.openssl_ref }} | |
| strategy: | |
| matrix: | |
| wolfssl_ref: [ 'master', 'v5.8.0-stable' ] | |
| openssl_ref: [ 'openssl-3.5.0' ] | |
| test_x11vnc: | |
| runs-on: ubuntu-22.04 | |
| needs: build_wolfprovider | |
| timeout-minutes: 10 | |
| strategy: | |
| matrix: | |
| x11vnc_ref: [ 'master', '0.9.17' ] | |
| wolfssl_ref: [ 'master', 'v5.8.0-stable' ] | |
| openssl_ref: [ 'openssl-3.5.0' ] | |
| force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ] | |
| steps: | |
| - name: Checkout wolfProvider | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| - name: Retrieving wolfSSL/wolfProvider from cache | |
| uses: actions/cache/restore@v4 | |
| id: wolfprov-cache | |
| with: | |
| path: | | |
| wolfssl-install | |
| wolfprov-install | |
| openssl-install/lib64 | |
| openssl-install/include | |
| openssl-install/bin | |
| key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }} | |
| fail-on-cache-miss: true | |
| - name: Install x11vnc dependencies | |
| run: | | |
| sudo apt-get update | |
| # common build dependencies | |
| sudo apt-get install -y build-essential autoconf automake libtool \ | |
| pkg-config gcc make ca-certificates | |
| # x11vnc dependencies | |
| sudo apt-get install -y libc6-dev libjpeg-dev x11proto-core-dev \ | |
| libxss-dev zlib1g-dev libavahi-client-dev libvncserver-dev \ | |
| libx11-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev \ | |
| libxinerama-dev libxrandr-dev libxtst-dev | |
| # packages for testing script | |
| sudo apt-get install -y xvfb tigervnc-viewer psmisc expect curl | |
| - name: Download x11vnc | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: LibVNC/x11vnc | |
| ref: ${{ matrix.x11vnc_ref }} | |
| path: x11vnc | |
| - name: Build x11vnc | |
| working-directory: x11vnc | |
| run: | | |
| # force x11vnc to use the openssl binary in wolfProvider | |
| sudo ln -sf $GITHUB_WORKSPACE/openssl-install/bin/openssl /usr/bin/openssl | |
| # change certs from being hashed with MD5 to SHA256 | |
| perl -pi -e 's/default_md\s*=\s*md5/default_md = SHA256/' src/ssltools.h | |
| # change encryption for cert keys from des3 to aes256 | |
| perl -pi -e 's/-des3/-aes256/' src/ssltools.h | |
| source $GITHUB_WORKSPACE/scripts/env-setup | |
| autoreconf -vfi | |
| ./configure --with-ssl="$GITHUB_WORKSPACE/openssl-install/lib64" \ | |
| CPPFLAGS="-I$GITHUB_WORKSPACE/openssl-install/include" \ | |
| LDFLAGS="-L$GITHUB_WORKSPACE/openssl-install/lib64" | |
| make -j $(nproc) | |
| sudo make install | |
| - name: Run x11vnc tests | |
| run: | | |
| source $GITHUB_WORKSPACE/scripts/env-setup | |
| export ${{ matrix.force_fail }} | |
| export WOLFPROV_FORCE_FAIL_STR="${{ matrix.force_fail }}" | |
| $GITHUB_WORKSPACE/.github/scripts/x11vnc/test_x11vnc.sh |