name: Windows CSharp Build Test on: push: branches: [ 'master', 'main', 'release/**' ] pull_request: branches: [ '*' ] jobs: build: if: github.repository_owner == 'wolfssl' runs-on: windows-latest # This should be a safe limit for the tests to run. timeout-minutes: 6 env: # Path to the solution file relative to the root of the project. SOLUTION_FILE_PATH: wolfssl\wrapper\CSharp\wolfSSL_CSharp.sln # 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 BUILD_CONFIGURATION: Debug BUILD_PLATFORM: x64 steps: - name: Pull wolfssl uses: actions/checkout@master with: repository: wolfssl/wolfssl path: wolfssl - name: Create FIPS stub files (autogen) working-directory: wolfssl run: | echo $null >> wolfcrypt\src\fips.c echo $null >> wolfcrypt\src\fips_test.c echo $null >> wolfcrypt\src\wolfcrypt_first.c echo $null >> wolfcrypt\src\wolfcrypt_last.c - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@v1 - name: Build working-directory: ${{env.GITHUB_WORKSPACE}} # 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:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}} - name: Run wolfCrypt test working-directory: ${{env.GITHUB_WORKSPACE}}wolfssl\wrapper\CSharp\Debug\x64\ run: ./wolfCrypt-test.exe - name: Run wolfSSL client/server example working-directory: ${{env.GITHUB_WORKSPACE}}wolfssl\wrapper\CSharp\Debug\x64\ run: ./wolfSSL-TLS-Server.exe && sleep 1 & ./wolfSSL-TLS-Client.exe