Skip to content

Add windows debug dump dir check #874

Add windows debug dump dir check

Add windows debug dump dir check #874

Workflow file for this run

#name: Producer CPP SDK CI
#
#on:
# push:
# branches:
# - develop
# - master
# pull_request:
# branches:
# - develop
# - master
#
#jobs:
# mac-os-build-clang:
# runs-on: macos-13
# env:
# AWS_KVS_LOG_LEVEL: 2
# permissions:
# id-token: write
# contents: read
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# brew install pkg-config openssl cmake gstreamer log4cplus
# brew unlink openssl
# - name: Build repository
# run: |
# mkdir build && cd build
# sh -c 'cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE;cmake .. -DBUILD_TEST=TRUE -DCOMPILER_WARNINGS=TRUE -DCMAKE_INSTALL_PREFIX=.'
# make
# make install
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# cd build
# ./tst/producerTest
#
# mac-os-build-gcc:
# runs-on: macos-13
# permissions:
# id-token: write
# contents: read
# env:
# CC: gcc
# CXX: g++
# AWS_KVS_LOG_LEVEL: 2
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# brew install pkg-config openssl cmake gstreamer log4cplus
# brew unlink openssl
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# cd build
# ./tst/producerTest
#
# linux-gcc-code-coverage:
# runs-on: ubuntu-20.04
# env:
# AWS_KVS_LOG_LEVEL: 2
# permissions:
# id-token: write
# contents: read
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get install -y libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DCODE_COVERAGE=TRUE -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# cd build
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 60m ./tst/producerTest
# - name: Code coverage
# run: |
# cd build
# for test_file in $(find CMakeFiles/KinesisVideoProducer.dir gstkvssink.dir KinesisVideoProducerJNI.dir -name '*.gcno'); do gcov $test_file; done
# bash <(curl -s https://codecov.io/bash)
#
# address-sanitizer:
# runs-on: ubuntu-20.04
# permissions:
# id-token: write
# contents: read
# env:
# CC: clang
# CXX: clang++
# AWS_KVS_LOG_LEVEL: 2
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get install -y libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DADDRESS_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# cd build
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 60m ./tst/producerTest
#
# undefined-behavior-sanitizer:
# runs-on: ubuntu-20.04
# permissions:
# id-token: write
# contents: read
# env:
# CC: clang
# CXX: clang++
# AWS_KVS_LOG_LEVEL: 2
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get install -y libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DUNDEFINED_BEHAVIOR_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# cd build
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 60m ./tst/producerTest
#
# # memory-sanitizer:
# # runs-on: ubuntu-20.04
# # permissions:
# # id-token: write
# # contents: read
# # env:
# # CC: clang
# # CXX: clang++
# # AWS_KVS_LOG_LEVEL: 2
# # steps:
# # - name: Clone repository
# # uses: actions/checkout@v3
# # - name: Configure AWS Credentials
# # uses: aws-actions/configure-aws-credentials@v1-node16
# # with:
# # role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# # role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# # aws-region: ${{ secrets.AWS_REGION }}
# # - name: Build repository
# # run: |
# # mkdir build && cd build
# # cmake .. -DBUILD_TEST=TRUE -DMEMORY_SANITIZER=TRUE -DBUILD_COMMON_LWS=TRUE
# # make
# # ulimit -c unlimited -S
# # timeout --signal=SIGABRT 150m ./tst/producerTest --gtest_break_on_failure
# # thread-sanitizer:
# # runs-on: ubuntu-20.04
# # permissions:
# # id-token: write
# # contents: read
# # env:
# # CC: clang
# # CXX: clang++
# # AWS_KVS_LOG_LEVEL: 2
# # steps:
# # - name: Clone repository
# # uses: actions/checkout@v3
# # - name: Configure AWS Credentials
# # uses: aws-actions/configure-aws-credentials@v1-node16
# # with:
# # role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# # role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# # aws-region: ${{ secrets.AWS_REGION }}
# # - name: Build repository
# # run: |
# # sudo apt-get install -y libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# # mkdir build && cd build
# # cmake .. -DBUILD_TEST=TRUE -DTHREAD_SANITIZER=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE
# # make
# # ulimit -c unlimited -S
# # timeout --signal=SIGABRT 20m ./tst/producerTest
#
# ubuntu-gcc:
# runs-on: ubuntu-20.04
# env:
# AWS_KVS_LOG_LEVEL: 2
# CC: gcc
# CXX: g++
# permissions:
# id-token: write
# contents: read
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get install -y libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_JNI=TRUE -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# cd build
# ulimit -c unlimited -S
# timeout --signal=SIGABRT 60m ./tst/producerTest
#
# windows-msvc:
# runs-on: windows-2022
# env:
# AWS_KVS_LOG_LEVEL: 7
# permissions:
# id-token: write
# contents: read
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Move repository
# run: |
# mkdir C:\producer
# Move-Item -Path "D:\a\amazon-kinesis-video-streams-producer-sdk-cpp\amazon-kinesis-video-streams-producer-sdk-cpp\*" -Destination "D:\producer"
# - name: Install dependencies
# run: |
# choco install nasm strawberryperl
# choco install gstreamer --version=1.22.8
# choco install gstreamer-devel --version=1.22.8
# - name: Build repository
# run: |
# $env:Path += ';C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;D:\producer\open-source\local\lib;D:\producer\open-source\local\bin'
# git config --system core.longpaths true
# cd D:\producer
# dir
# .\build_windows.bat
# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1-node16
# with:
# role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }}
# role-session-name: ${{ secrets.AWS_ROLE_SESSION_NAME }}
# aws-region: ${{ secrets.AWS_REGION }}
# role-duration-seconds: 10800
# - name: Run tests
# run: |
# $env:Path += ';C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Strawberry\c\bin;C:\Program Files\NASM;D:\producer\open-source\local\lib;D:\producer\open-source\local\bin'
# & "D:\producer\build\tst\producerTest.exe"
#
# arm64-cross-compilation:
# runs-on: ubuntu-20.04
# env:
# CC: aarch64-linux-gnu-gcc
# CXX: aarch64-linux-gnu-g++
# steps:
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
# sudo apt-get install libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Build Repository
# run: |
# sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic64 -DBUILD_LOG4CPLUS_HOST=arm-linux -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# file libKinesisVideoProducer.so
#
# linux-aarch64-cross-compilation:
# runs-on: ubuntu-20.04
# env:
# CC: aarch64-linux-gnu-gcc
# CXX: aarch64-linux-gnu-g++
# steps:
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get -y install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
# sudo apt-get install libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Build Repository
# run: |
# sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DBUILD_OPENSSL_PLATFORM=linux-aarch64 -DBUILD_LOG4CPLUS_HOST=arm-linux -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# file libKinesisVideoProducer.so
#
# arm32-cross-compilation:
# runs-on: ubuntu-20.04
# env:
# CC: arm-linux-gnueabi-gcc
# CXX: arm-linux-gnueabi-g++
# steps:
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get -y install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi binutils-arm-linux-gnueabi
# sudo apt-get install libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Build Repository
# run: |
# sudo sh -c 'echo 0 > /proc/sys/net/ipv6/conf/all/disable_ipv6'
# mkdir build && cd build
# cmake .. -DBUILD_TEST=TRUE -DBUILD_OPENSSL_PLATFORM=linux-generic32 -DBUILD_LOG4CPLUS_HOST=arm-linux -DCMAKE_INSTALL_PREFIX=.
# make
# make install
# file libKinesisVideoProducer.so
#
# linux-build-gcc-static:
# runs-on: ubuntu-20.04
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_STATIC=ON
# make
#
# linux-build-gcc-shared:
# runs-on: ubuntu-20.04
# steps:
# - name: Clone repository
# uses: actions/checkout@v3
# - name: Install dependencies
# run: |
# sudo apt clean && sudo apt update
# sudo apt install -y libunwind-dev
# sudo apt-get install libssl-dev libcurl4-openssl-dev liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools
# - name: Build repository
# run: |
# mkdir build && cd build
# cmake .. -DBUILD_DEPENDENCIES=OFF -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_STATIC=OFF -DBUILD_SHARED_LIBS=ON
# make