Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/wolfssl/wolfssh into auto…
Browse files Browse the repository at this point in the history
…gen-update-wsl-pr2
  • Loading branch information
gojimmypi committed Jul 22, 2024
2 parents 872161e + bbba8ae commit eae7cbe
Show file tree
Hide file tree
Showing 147 changed files with 16,566 additions and 3,417 deletions.
96 changes: 96 additions & 0 deletions .github/workflows/kyber.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Kyber Tests

on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]

env:
LIBOQS_REF: 0.10.0
WOLFSSL_REF: v5.7.0-stable
OS_REF: ubuntu-latest

jobs:
build_liboqs:
name: Build liboqs
runs-on: ubuntu-latest
timeout-minutes: 4
steps:
- name: Checking cache for liboqs
uses: actions/cache@v4
id: cache-liboqs
with:
path: build-dir/
key: wolfssh-kyber-liboqs-${{ env.LIBOQS_REF }}-${{ env.OS_REF }}
lookup-only: true

- name: Checkout liboqs
if: steps.cache-liboqs.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
repository: open-quantum-safe/liboqs
ref: ${{ env.LIBOQS_REF }}
path: liboqs

- name: Build and install liboqs
if: steps.cache-liboqs.outputs.cache-hit != 'true'
working-directory: liboqs
run: |
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/build-dir -DOQS_MINIMAL_BUILD=KEM_kyber_512 -DOQS_USE_OPENSSL=0 ..
make
make install
build_wolfssl:
name: Build wolfssl
runs-on: ubuntu-latest
timeout-minutes: 4
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
id: cache-wolfssl
with:
path: build-dir/
key: wolfssh-kyber-wolfssl-${{ env.WOLFSSL_REF }}-${{ env.OS_REF }}
lookup-only: true

- name: Checkout, build, and install wolfssl
if: steps.cache-wolfssl.outputs.cache-hit != 'true'
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssl
ref: ${{ env.WOLFSSL_REF }}
path: wolfssl
configure: --enable-wolfssh --enable-cryptonly --disable-examples --disable-crypttests
check: false
install: true

build_wolfssh:
name: Build wolfssh
runs-on: ubuntu-latest
timeout-minutes: 4
needs: [build_wolfssl, build_liboqs]
steps:
- name: Checking cache for liboqs
uses: actions/cache@v4
with:
path: build-dir/
key: wolfssh-kyber-liboqs-${{ env.LIBOQS_REF }}-${{ env.OS_REF }}
fail-on-cache-miss: true

- name: Checking cache for wolfssl
uses: actions/cache@v4
with:
path: build-dir/
key: wolfssh-kyber-wolfssl-${{ env.WOLFSSL_REF }}-${{ env.OS_REF }}
fail-on-cache-miss: true

- name: Checkout, build, and test wolfssh
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssh
path: wolfssh
configure: --with-liboqs=${{ github.workspace }}/build-dir --with-wolfssl=${{ github.workspace }}/build-dir
check: true
34 changes: 0 additions & 34 deletions .github/workflows/macos-check.yml

This file was deleted.

75 changes: 75 additions & 0 deletions .github/workflows/os-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: OS Check Test

on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
WOLFSSL_REF: v5.7.0-stable

jobs:
build_wolfssl:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
name: Build wolfssl
runs-on: ${{ matrix.os }}
timeout-minutes: 4
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
id: cache-wolfssl
with:
path: build-dir/
key: wolfssh-os-check-wolfssl-${{ env.WOLFSSL_REF }}-${{ matrix.os }}
lookup-only: true

- name: Checkout, build, and install wolfssl
if: steps.cache-wolfssl.outputs.cache-hit != 'true'
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssl
ref: ${{ env.WOLFSSL_REF }}
path: wolfssl
configure: --enable-all
check: false
install: true

build_wolfssh:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
config: [
'',
'--enable-all',
'--enable-sftp',
'--enable-scp',
'--enable-shell',
]
name: Build wolfssh
runs-on: ${{ matrix.os }}
timeout-minutes: 4
needs: build_wolfssl
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
with:
path: build-dir/
key: wolfssh-os-check-wolfssl-${{ env.WOLFSSL_REF }}-${{ matrix.os }}
fail-on-cache-miss: true

- name: Checkout, build, and test wolfssh
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssh
path: wolfssh
configure: ${{ matrix.config }} LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include"
check: true
75 changes: 75 additions & 0 deletions .github/workflows/singlethread-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Single-thread Check Test

on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
WOLFSSL_REF: v5.7.0-stable

jobs:
build_wolfssl:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
name: Build wolfssl
runs-on: ${{ matrix.os }}
timeout-minutes: 4
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
id: cache-wolfssl
with:
path: build-dir/
key: wolfssh-singlethread-check-wolfssl-${{ env.WOLFSSL_REF }}-${{ matrix.os }}
lookup-only: true

- name: Checkout, build, and install wolfssl
if: steps.cache-wolfssl.outputs.cache-hit != 'true'
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssl
ref: ${{ env.WOLFSSL_REF }}
path: wolfssl
configure: --enable-wolfssh --enable-singlethreaded --enable-keygen
check: false
install: true

build_wolfssh:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest ]
config: [
'',
'--enable-all',
'--enable-sftp',
'--enable-scp',
'--enable-shell',
]
name: Build wolfssh
runs-on: ${{ matrix.os }}
timeout-minutes: 4
needs: build_wolfssl
steps:
- name: Checking cache for wolfssl
uses: actions/cache@v4
with:
path: build-dir/
key: wolfssh-singlethread-check-wolfssl-${{ env.WOLFSSL_REF }}-${{ matrix.os }}
fail-on-cache-miss: true

- name: Checkout, build, and test wolfssh
uses: wolfSSL/actions-build-autotools-project@v1
with:
repository: wolfssl/wolfssh
path: wolfssh
configure: ${{ matrix.config }} LDFLAGS="-L${{ github.workspace }}/build-dir/lib" CPPFLAGS="-I${{ github.workspace }}/build-dir/include"
check: true
4 changes: 2 additions & 2 deletions .github/workflows/sshd-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@ jobs:
- name: autogen
run: ./autogen.sh
- name: configure
run: ./configure --enable-all CPPFLAGS=-DWOLFSSH_NO_FPKI
run: ./configure --enable-all CPPFLAGS="-DWOLFSSH_NO_FPKI -DWOLFSSH_NO_SFTP_TIMEOUT -DWOLFSSH_MAX_SFTP_RW=4000000"
- name: make
run: make
- name: make check
run: make check
- name: run wolfSSHd tests
run: sudo ./run_all_sshd_tests.sh
run: sudo ./run_all_sshd_tests.sh root
working-directory: ./apps/wolfsshd/test
32 changes: 0 additions & 32 deletions .github/workflows/ubuntu-check.yml

This file was deleted.

66 changes: 66 additions & 0 deletions .github/workflows/windows-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
name: Windows Build Test

on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]

env:
WOLFSSL_SOLUTION_FILE_PATH: wolfssl64.sln
SOLUTION_FILE_PATH: wolfssh.sln
USER_SETTINGS_H_NEW: wolfssh/ide/winvs/user_settings.h
USER_SETTINGS_H: wolfssl/IDE/WIN/user_settings.h
INCLUDE_DIR: wolfssh

# Configuration type to build.
# You can convert this to a build matrix if you need coverage of multiple configuration types.
# https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
WOLFSSL_BUILD_CONFIGURATION: Release
WOLFSSH_BUILD_CONFIGURATION: Release
BUILD_PLATFORM: x64
TARGET_PLATFORM: 10

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/checkout@v2
with:
repository: wolfssl/wolfssl
path: wolfssl

- uses: actions/checkout@master
with:
path: wolfssh

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1

- name: Restore wolfSSL NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}wolfssl
run: nuget restore ${{env.WOLFSSL_SOLUTION_FILE_PATH}}

- name: updated user_settings.h for sshd and x509
working-directory: ${{env.GITHUB_WORKSPACE}}
run: cp ${{env.USER_SETTINGS_H_NEW}} ${{env.USER_SETTINGS_H}}

- name: replace wolfSSL user_settings.h with wolfSSH user_settings.h
working-directory: ${{env.GITHUB_WORKSPACE}}
run: get-content ${{env.USER_SETTINGS_H_NEW}} | %{$_ -replace "if 0","if 1"}

- name: Build wolfssl library
working-directory: ${{env.GITHUB_WORKSPACE}}wolfssl
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:Configuration=${{env.WOLFSSL_BUILD_CONFIGURATION}} /t:wolfssl ${{env.WOLFSSL_SOLUTION_FILE_PATH}}

- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}wolfssh\ide\winvs
run: nuget restore ${{env.SOLUTION_FILE_PATH}}

- name: Build wolfssh
working-directory: ${{env.GITHUB_WORKSPACE}}wolfssh\ide\winvs
# Add additional options to the MSBuild command line here (like platform or verbosity level).
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
run: msbuild /m /p:PlatformToolset=v142 /p:Platform=${{env.BUILD_PLATFORM}} /p:WindowsTargetPlatformVersion=${{env.TARGET_PLATFORM}} /p:Configuration=${{env.WOLFSSH_BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}

Loading

0 comments on commit eae7cbe

Please sign in to comment.