From 7b209d02f6b136d9ad244025a1d115793fe0b113 Mon Sep 17 00:00:00 2001 From: Raul Sanchez-Mateos Lizano Date: Tue, 8 Oct 2024 15:56:51 +0200 Subject: [PATCH] Update README and separate ci by platform (#160) Signed-off-by: Raul Sanchez-Mateos --- .../{nightly.yml => nightly-ubuntu-ci.yml} | 8 +- .github/workflows/nightly-windows-ci.yml | 28 ++ .github/workflows/reusable-ubuntu-ci.yml | 295 ++++++++++++++++++ .github/workflows/reusable-windows-ci.yml | 94 ++++++ .github/workflows/reusable-workflow.yml | 219 +------------ .github/workflows/test.yml | 15 +- README.md | 42 ++- .../images/github_banner_ddsrecordreplay.png | Bin 0 -> 77751 bytes 8 files changed, 477 insertions(+), 224 deletions(-) rename .github/workflows/{nightly.yml => nightly-ubuntu-ci.yml} (74%) create mode 100644 .github/workflows/nightly-windows-ci.yml create mode 100644 .github/workflows/reusable-ubuntu-ci.yml create mode 100644 .github/workflows/reusable-windows-ci.yml create mode 100644 resources/images/github_banner_ddsrecordreplay.png diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly-ubuntu-ci.yml similarity index 74% rename from .github/workflows/nightly.yml rename to .github/workflows/nightly-ubuntu-ci.yml index 07c14bd94..d856e3214 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly-ubuntu-ci.yml @@ -1,7 +1,9 @@ # Nightly test workflow for DDS Record & Replay -name: nightly +name: nightly-ubuntu-ci on: + workflow_dispatch: + schedule: - cron: '0 5 * * *' @@ -9,7 +11,7 @@ jobs: reusable_tests_v2: name: reusable_tests_v2 - uses: ./.github/workflows/reusable-workflow.yml + uses: ./.github/workflows/reusable-ubuntu-ci.yml with: custom_version_build: 'v2' dependencies_artifact_postfix: '_nightly' @@ -18,7 +20,7 @@ jobs: reusable_tests_v3: name: reusable_tests_v3 - uses: ./.github/workflows/reusable-workflow.yml + uses: ./.github/workflows/reusable-ubuntu-ci.yml with: custom_version_build: 'v3' dependencies_artifact_postfix: '_nightly' diff --git a/.github/workflows/nightly-windows-ci.yml b/.github/workflows/nightly-windows-ci.yml new file mode 100644 index 000000000..db32b23d5 --- /dev/null +++ b/.github/workflows/nightly-windows-ci.yml @@ -0,0 +1,28 @@ +# Nightly test workflow for DDS Record & Replay +name: nightly-windows-ci + +on: + workflow_dispatch: + + schedule: + - cron: '0 5 * * *' + +jobs: + + reusable_tests_v2: + name: reusable_tests_v2 + uses: ./.github/workflows/reusable-windows-ci.yml + with: + custom_version_build: 'v2' + dependencies_artifact_postfix: '_nightly' + ref: '0.x' + secrets: inherit + + reusable_tests_v3: + name: reusable_tests_v3 + uses: ./.github/workflows/reusable-windows-ci.yml + with: + custom_version_build: 'v3' + dependencies_artifact_postfix: '_nightly' + ref: 'main' + secrets: inherit diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml new file mode 100644 index 000000000..1357156ae --- /dev/null +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -0,0 +1,295 @@ +# Reusable workflow to run the following jobs: +# +# - multiplatform-tests +# - [ ubuntu-22.04 | ubuntu-24.04 ] +# - [ Debug | Release ] +# - execute tests in different versions of ubuntu with different build types +# +# - asan +# - ubuntu-22.04 +# - execute tests with ASAN flag +# +# - tsan +# - ubuntu-22.04 +# - execute tests with TSAN flag +# +# - clang +# - ubuntu-22.04 +# - execute clang-tidy check +# +# - coverage +# - ubuntu-22.04 +# - execute test with coverage flag and upload results +# +# - flaky +# - ubuntu-22.04 +# - execute flaky tests +# +# - docs +# - ubuntu-22.04 +# - execute docs compile and tests +# +# - uncrustify +# - ubuntu-22.04 +# - test uncrustify +# +# - python-linter +# - ubuntu-22.04 +# - test python linter +# + +name: ubuntu-ci + +on: + + workflow_dispatch: + workflow_call: + inputs: + + custom_version_build: + description: > + Version of Fast DDS build from eProsima-CI. + required: true + type: string + + dependencies_artifact_postfix: + description: > + Postfix name to add to artifact name to download dependencies. + This is use to download a specific artifact version from eProsima-CI. + required: true + default: '_nightly' + type: string + + ref: + description: > + The branch or tag name to checkout. + required: true + type: string + default: 'main' + +env: + # TODO: controller is not tested as it has no tests + code_packages_names: 'ddsrecorder_participants ddsrecorder_yaml ddsrecorder_tool ddsreplayer_tool' + docs_packages_names: 'ddsrecorder_docs' + +jobs: + +##################################################################### +# TEST + + multiplatform-tests: + runs-on: ${{ matrix.os }}-ci + strategy: + fail-fast: false + matrix: + os: + - ubuntu-22.04 + - ubuntu-24.04 + uses: ./.github/workflows/reusable-workflow.yml + with: + os: ${{ matrix.os }} + custom_version_build: ${{ inputs.custom_version_build || 'v3' }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }} + ref: ${{ inputs.ref }} + secrets: inherit + + + +##################################################################### +# ASAN + + asan: + runs-on: ubuntu-22.04 + steps: + + - name: Sync repository + uses: eProsima/eProsima-CI/external/checkout@v0 + with: + path: src + ref: ${{ inputs.ref }} + + - name: Download dependencies and install requirements + uses: ./src/.github/actions/project_dependencies + with: + os: ubuntu-22.04 + cmake_build_type: Debug + custom_version_build: ${{ inputs.custom_version_build }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} + secret_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Compile and run tests + uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@v0 + with: + packages_names: ${{ env.code_packages_names }} + workspace_dependencies: './install' + cmake_build_type: Debug + cmake_args: -DBUILD_TESTS=ON -DASAN_BUILD=ON + ctest_args: --label-exclude "xfail|xasan" + test_report_artifact: test_report_asan${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }} + + +##################################################################### +# TSAN + + tsan: + runs-on: ubuntu-22.04 + steps: + + - name: Sync repository + uses: eProsima/eProsima-CI/external/checkout@v0 + with: + path: src + ref: ${{ inputs.ref }} + + - name: Download dependencies and install requirements + uses: ./src/.github/actions/project_dependencies + with: + os: ubuntu-22.04 + cmake_build_type: Debug + custom_version_build: ${{ inputs.custom_version_build }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} + secret_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Compile and run tests + uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@v0 + env: + # GCC 11.3 (Ubuntu Jammy default) produces several false positives regarding timed synchronization protocols + # These issues were fixed in GCC 12 so we upgrade to that version. + CC: gcc-12 + CXX: g++-12 + with: + packages_names: ${{ env.code_packages_names }} + workspace_dependencies: './install' + cmake_build_type: Debug + cmake_args: -DBUILD_TESTS=ON -DTSAN_BUILD=ON + ctest_args: --label-exclude "xfail|xtsan" + test_report_artifact: test_report_tsan${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }} + + +##################################################################### +# CLANG + + clang: + runs-on: ubuntu-22.04 + steps: + + - name: Sync repository + uses: eProsima/eProsima-CI/external/checkout@v0 + with: + path: src + ref: ${{ inputs.ref }} + + - name: Download dependencies and install requirements + uses: ./src/.github/actions/project_dependencies + with: + os: ubuntu-22.04 + cmake_build_type: Debug + custom_version_build: ${{ inputs.custom_version_build }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} + secret_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Compile and run tests + uses: eProsima/eProsima-CI/multiplatform/clang_build_test@v0 + with: + packages_names: ${{ env.code_packages_names }} + workspace_dependencies: './install' + + +##################################################################### +# COVERAGE + + coverage: + runs-on: ubuntu-22.04 + environment: + name: codecov + steps: + + - name: Sync repository + uses: eProsima/eProsima-CI/external/checkout@v0 + with: + path: src + ref: ${{ inputs.ref }} + + - name: Download dependencies and install requirements + uses: ./src/.github/actions/project_dependencies + with: + os: ubuntu-22.04 + cmake_build_type: Release + custom_version_build: ${{ inputs.custom_version_build }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} + secret_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Compile and run tests + uses: eProsima/eProsima-CI/ubuntu/coverage_build_test_upload@v0 + with: + packages_names: ${{ env.code_packages_names }} + workspace_dependencies: './install' + codecov_token: ${{ secrets.CODECOV_TOKEN }} + codecov_fix_file_path: ./src/codecov.yml + test_report_artifact: test_report_coverage${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }} + + +##################################################################### +# FLAKY + + flaky: + runs-on: ubuntu-22.04 + steps: + + - name: Sync repository + uses: eProsima/eProsima-CI/external/checkout@v0 + with: + path: src + ref: ${{ inputs.ref }} + + - name: Download dependencies and install requirements + uses: ./src/.github/actions/project_dependencies + with: + os: ubuntu-22.04 + cmake_build_type: Release + custom_version_build: ${{ inputs.custom_version_build }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} + secret_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Compile and run tests + uses: eProsima/eProsima-CI/multiplatform/colcon_build_test_flaky@v0 + with: + packages_names: ${{ env.code_packages_names }} + workspace_dependencies: './install' + + +##################################################################### +# DOCUMENTATION TEST + + docs: + runs-on: ubuntu-22.04 + steps: + - name: Build and test documentation + uses: eProsima/eProsima-CI/ubuntu/sphinx_docs@main + with: + checkout_path: "${{ github.workspace }}/src/ddsrecordreplay" + path_to_requirements: "${{ github.workspace }}/src/ddsrecordreplay/docs/requirements.txt" + docs_subpackage_name: ${{ env.docs_packages_names }} + secret_token: ${{ secrets.GITHUB_TOKEN }} + + +##################################################################### +# UNCRUSTIFY + + uncrustify: + runs-on: ubuntu-22.04 + steps: + + - name: Uncrustify + uses: eProsima/eProsima-CI/ubuntu/uncrustify@v0 + + +##################################################################### +# PYTHON LINTER + + python-linter: + runs-on: ubuntu-22.04 + steps: + + - name: Python Linter + uses: eProsima/eProsima-CI/ubuntu/python_linter@v0 diff --git a/.github/workflows/reusable-windows-ci.yml b/.github/workflows/reusable-windows-ci.yml new file mode 100644 index 000000000..e23e19974 --- /dev/null +++ b/.github/workflows/reusable-windows-ci.yml @@ -0,0 +1,94 @@ +# Reusable workflow to run the following jobs: +# +# - multiplatform-tests +# - [ windows-2019 | windows-2022 ] +# - [ Debug | Release ] +# - execute tests in different versions of ubuntu with different build types +# +# - asan +# - ubuntu-22.04 +# - execute tests with ASAN flag +# +# - tsan +# - ubuntu-22.04 +# - execute tests with TSAN flag +# +# - clang +# - ubuntu-22.04 +# - execute clang-tidy check +# +# - coverage +# - ubuntu-22.04 +# - execute test with coverage flag and upload results +# +# - flaky +# - ubuntu-22.04 +# - execute flaky tests +# +# - docs +# - ubuntu-22.04 +# - execute docs compile and tests +# +# - uncrustify +# - ubuntu-22.04 +# - test uncrustify +# +# - python-linter +# - ubuntu-22.04 +# - test python linter +# + +name: windows-ci + +on: + + workflow_dispatch: + workflow_call: + inputs: + + custom_version_build: + description: > + Version of Fast DDS build from eProsima-CI. + required: true + type: string + + dependencies_artifact_postfix: + description: > + Postfix name to add to artifact name to download dependencies. + This is use to download a specific artifact version from eProsima-CI. + required: true + default: '_nightly' + type: string + + ref: + description: > + The branch or tag name to checkout. + required: true + type: string + default: 'main' + +env: + # TODO: controller is not tested as it has no tests + code_packages_names: 'ddsrecorder_participants ddsrecorder_yaml ddsrecorder_tool ddsreplayer_tool' + docs_packages_names: 'ddsrecorder_docs' + +jobs: + +##################################################################### +# TEST + + multiplatform-tests: + runs-on: ${{ matrix.os }}-ci + strategy: + fail-fast: false + matrix: + os: + - windows-2019 + - windows-2022 + uses: ./.github/workflows/reusable-workflow.yml + with: + os: ${{ matrix.os }} + custom_version_build: ${{ inputs.custom_version_build || 'v3' }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }} + ref: ${{ inputs.ref }} + secrets: inherit diff --git a/.github/workflows/reusable-workflow.yml b/.github/workflows/reusable-workflow.yml index 9cf154ffc..48db8c22f 100644 --- a/.github/workflows/reusable-workflow.yml +++ b/.github/workflows/reusable-workflow.yml @@ -66,6 +66,12 @@ on: type: string default: 'main' + os: + description: 'Specify runs-on machine to download specific artifact' + required: true + type: string + + env: # TODO: controller is not tested as it has no tests code_packages_names: 'ddsrecorder_participants ddsrecorder_yaml ddsrecorder_tool ddsreplayer_tool' @@ -77,19 +83,14 @@ jobs: # TEST multiplatform-tests: - runs-on: ${{ matrix.os }} + name: ${{ inputs.os }}-ci-${{ matrix.cmake_build_type }} + runs-on: ${{ inputs.os }} strategy: fail-fast: false matrix: cmake_build_type: - Release - Debug - os: - - ubuntu-22.04 - - ubuntu-24.04 - - windows-2019 - - windows-2022 - steps: - name: Sync repository @@ -101,7 +102,7 @@ jobs: - name: Download dependencies and install requirements uses: ./src/.github/actions/project_dependencies with: - os: ${{ matrix.os }} + os: ${{ inputs.os }} cmake_build_type: ${{ matrix.cmake_build_type }} custom_version_build: ${{ inputs.custom_version_build }} dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} @@ -115,204 +116,4 @@ jobs: workspace_dependencies: './install' ctest_args: --label-exclude "xfail" colcon_meta_file: ./src/.github/workflows/configurations/${{ runner.os }}/colcon.meta - test_report_artifact: test_report${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }}_${{ matrix.os }}_${{ matrix.cmake_build_type }} - - -##################################################################### -# ASAN - - asan: - runs-on: ubuntu-22.04 - steps: - - - name: Sync repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src - ref: ${{ inputs.ref }} - - - name: Download dependencies and install requirements - uses: ./src/.github/actions/project_dependencies - with: - os: ubuntu-22.04 - cmake_build_type: Debug - custom_version_build: ${{ inputs.custom_version_build }} - dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} - secret_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Compile and run tests - uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@v0 - with: - packages_names: ${{ env.code_packages_names }} - workspace_dependencies: './install' - cmake_build_type: Debug - cmake_args: -DBUILD_TESTS=ON -DASAN_BUILD=ON - ctest_args: --label-exclude "xfail|xasan" - test_report_artifact: test_report_asan${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }} - - -##################################################################### -# TSAN - - tsan: - runs-on: ubuntu-22.04 - steps: - - - name: Sync repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src - ref: ${{ inputs.ref }} - - - name: Download dependencies and install requirements - uses: ./src/.github/actions/project_dependencies - with: - os: ubuntu-22.04 - cmake_build_type: Debug - custom_version_build: ${{ inputs.custom_version_build }} - dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} - secret_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Compile and run tests - uses: eProsima/eProsima-CI/multiplatform/colcon_build_test@v0 - env: - # GCC 11.3 (Ubuntu Jammy default) produces several false positives regarding timed synchronization protocols - # These issues were fixed in GCC 12 so we upgrade to that version. - CC: gcc-12 - CXX: g++-12 - with: - packages_names: ${{ env.code_packages_names }} - workspace_dependencies: './install' - cmake_build_type: Debug - cmake_args: -DBUILD_TESTS=ON -DTSAN_BUILD=ON - ctest_args: --label-exclude "xfail|xtsan" - test_report_artifact: test_report_tsan${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }} - - -##################################################################### -# CLANG - - clang: - runs-on: ubuntu-22.04 - steps: - - - name: Sync repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src - ref: ${{ inputs.ref }} - - - name: Download dependencies and install requirements - uses: ./src/.github/actions/project_dependencies - with: - os: ubuntu-22.04 - cmake_build_type: Debug - custom_version_build: ${{ inputs.custom_version_build }} - dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} - secret_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Compile and run tests - uses: eProsima/eProsima-CI/multiplatform/clang_build_test@v0 - with: - packages_names: ${{ env.code_packages_names }} - workspace_dependencies: './install' - - -##################################################################### -# COVERAGE - - coverage: - runs-on: ubuntu-22.04 - environment: - name: codecov - steps: - - - name: Sync repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src - ref: ${{ inputs.ref }} - - - name: Download dependencies and install requirements - uses: ./src/.github/actions/project_dependencies - with: - os: ubuntu-22.04 - cmake_build_type: Release - custom_version_build: ${{ inputs.custom_version_build }} - dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} - secret_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Compile and run tests - uses: eProsima/eProsima-CI/ubuntu/coverage_build_test_upload@v0 - with: - packages_names: ${{ env.code_packages_names }} - workspace_dependencies: './install' - codecov_token: ${{ secrets.CODECOV_TOKEN }} - codecov_fix_file_path: ./src/codecov.yml - test_report_artifact: test_report_coverage${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }} - - -##################################################################### -# FLAKY - - flaky: - runs-on: ubuntu-22.04 - steps: - - - name: Sync repository - uses: eProsima/eProsima-CI/external/checkout@v0 - with: - path: src - ref: ${{ inputs.ref }} - - - name: Download dependencies and install requirements - uses: ./src/.github/actions/project_dependencies - with: - os: ubuntu-22.04 - cmake_build_type: Release - custom_version_build: ${{ inputs.custom_version_build }} - dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix }} - secret_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Compile and run tests - uses: eProsima/eProsima-CI/multiplatform/colcon_build_test_flaky@v0 - with: - packages_names: ${{ env.code_packages_names }} - workspace_dependencies: './install' - - -##################################################################### -# DOCUMENTATION TEST - - docs: - runs-on: ubuntu-22.04 - steps: - - name: Build and test documentation - uses: eProsima/eProsima-CI/ubuntu/sphinx_docs@main - with: - checkout_path: "${{ github.workspace }}/src/ddsrecordreplay" - path_to_requirements: "${{ github.workspace }}/src/ddsrecordreplay/docs/requirements.txt" - docs_subpackage_name: ${{ env.docs_packages_names }} - secret_token: ${{ secrets.GITHUB_TOKEN }} - - -##################################################################### -# UNCRUSTIFY - - uncrustify: - runs-on: ubuntu-22.04 - steps: - - - name: Uncrustify - uses: eProsima/eProsima-CI/ubuntu/uncrustify@v0 - - -##################################################################### -# PYTHON LINTER - - python-linter: - runs-on: ubuntu-22.04 - steps: - - - name: Python Linter - uses: eProsima/eProsima-CI/ubuntu/python_linter@v0 + test_report_artifact: test_report${{ inputs.dependencies_artifact_postfix }}_${{ inputs.custom_version_build }}_${{ inputs.os }}_${{ matrix.cmake_build_type }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 97fc36e5c..9477441df 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,9 +29,18 @@ on: jobs: - reusable_tests: - name: reusable_tests - uses: ./.github/workflows/reusable-workflow.yml + reusable_tests_ubuntu: + name: ubuntu-ci + uses: ./.github/workflows/reusable-ubuntu-ci.yml + with: + custom_version_build: ${{ inputs.custom_version_build || 'v3' }} + dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }} + ref: ${{ github.ref }} + secrets: inherit + + reusable_tests_windows: + name: windows-ci + uses: ./.github/workflows/reusable-windows-ci.yml with: custom_version_build: ${{ inputs.custom_version_build || 'v3' }} dependencies_artifact_postfix: ${{ inputs.dependencies_artifact_postfix || '_nightly' }} diff --git a/README.md b/README.md index 79590c59a..262f949d4 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,36 @@ -# eProsima DDS Record & Replay - - - -[![License](https://img.shields.io/github/license/eProsima/DDS-Recorder.svg)](https://opensource.org/licenses/Apache-2.0) -[![Issues](https://img.shields.io/github/issues/eProsima/DDS-Recorder.svg)](https://github.com/eProsima/DDS-Recorder/issues) -[![Forks](https://img.shields.io/github/forks/eProsima/DDS-Recorder.svg)](https://github.com/eProsima/DDS-Recorder/network/members) -[![Stars](https://img.shields.io/github/stars/eProsima/DDS-Recorder.svg)](https://github.com/eProsima/DDS-Recorder/stargazers) -[![test](https://github.com/eProsima/DDS-Recorder/actions/workflows/test.yml/badge.svg)](https://github.com/eProsima/DDS-Recorder/actions/workflows/test.yml) +[![DDS Record and Replay](resources/images/github_banner_ddsrecordreplay.png)](https://eprosima.com/middleware/tools/eprosima-dds-record-replay) + +
+ + + +

+ +
+ License + Releases + Issues + Forks + Stars +
+ Documentation badge + Windows CI + Ubuntu CI +
+ +

*eProsima DDS Record & Replay* is an end-user software application that efficiently saves DDS data published in a DDS environment into a MCAP format database. Thus, the exact playback of the recorded network events is possible as the data is linked to the timestamp at which the original data was published. diff --git a/resources/images/github_banner_ddsrecordreplay.png b/resources/images/github_banner_ddsrecordreplay.png new file mode 100644 index 0000000000000000000000000000000000000000..948b01c73e7c7776057618a2f4146f2d7b76742c GIT binary patch literal 77751 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≦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∋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 WgHw3W>+1MzjXIk88f9wM;r|Cp{P)uU literal 0 HcmV?d00001