ON-16312: shrub dump per-client fifos #859
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
| # SPDX-License-Identifier: BSD-2-Clause | |
| # X-SPDX-Copyright-Text: (c) Copyright 2023 Advanced Micro Devices, Inc. | |
| name: "repo_compatibility_check" | |
| on: | |
| workflow_dispatch: | |
| push: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| ssa: | |
| if: vars.INTERNAL_REPO | |
| runs-on: ubuntu-latest | |
| env: | |
| SSA_TREE: ${{ github.workspace }}/ssa | |
| ONLOAD_TREE: ${{ github.workspace }}/onload | |
| steps: | |
| - name: Checkout Onload | |
| uses: actions/checkout@v5 | |
| with: | |
| path: ${{ env.ONLOAD_TREE }} | |
| - name: Checkout SSA | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ github.repository_owner }}/simple_sockets_apps | |
| ssh-key: ${{ secrets.SIMPLE_SOCKET_APPS_READ_PRIVATE_KEY }} | |
| path: ${{ env.SSA_TREE }} | |
| - name: Build SSA | |
| working-directory: ${{ env.SSA_TREE }} | |
| run: make -j $(nproc) | |
| onload_tools: | |
| if: vars.INTERNAL_REPO | |
| runs-on: ubuntu-latest | |
| env: | |
| ONLOAD_TOOLS_TREE: ${{ github.workspace }}/onload_tools | |
| ONLOAD_TREE: ${{ github.workspace }}/onload | |
| steps: | |
| - name: Checkout Onload | |
| uses: actions/checkout@v5 | |
| with: | |
| path: ${{ env.ONLOAD_TREE }} | |
| - name: Install Onload Deps | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libcap-dev libmnl-dev python3 python3-pip | |
| sudo pip3 install pytest pyroute2 | |
| - name: Checkout onload_tools | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ github.repository_owner }}/onload_tools | |
| ssh-key: ${{ secrets.ONLOAD_TOOLS_READ_PRIVATE_KEY }} | |
| path: ${{ env.ONLOAD_TOOLS_TREE }} | |
| - name: Build Onload Tools | |
| working-directory: ${{ env.ONLOAD_TOOLS_TREE }} | |
| run: | | |
| make -j $(nproc) | |
| tcpdirect: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| env: | |
| TCPDIRECT_TREE: ${{ github.workspace }}/tcpdirect | |
| ONLOAD_TREE: ${{ github.workspace }}/onload | |
| steps: | |
| - name: Checkout Onload | |
| uses: actions/checkout@v5 | |
| with: | |
| path: ${{ env.ONLOAD_TREE }} | |
| - name: Extract version information | |
| working-directory: ${{ env.ONLOAD_TREE }} | |
| run: | | |
| cat versions.env | sed -E "s/^#.*$//g" >> "$GITHUB_ENV" | |
| echo "ONLOAD_DEV_BRANCH=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> "$GITHUB_ENV" | |
| # We try checking out TCPDirect with the current onload branch to support | |
| # development workflows, but will fall back to the branch defined in our | |
| # versions file. | |
| - name: Checkout TCPDirect development branch | |
| id: primary_tcpdirect_checkout | |
| continue-on-error: true | |
| uses: actions/checkout@v5 | |
| with: | |
| repository: ${{ github.repository_owner }}/tcpdirect | |
| path: ${{ env.TCPDIRECT_TREE }} | |
| ref: ${{ env.ONLOAD_DEV_BRANCH }} | |
| - name: Cleanup failed TCPDirect development branch checkout | |
| if: ${{ ! cancelled() && steps.primary_tcpdirect_checkout.outcome == 'failure' }} | |
| run: rm -rf "$TCPDIRECT_TREE" | |
| - name: Checkout TCPDirect | |
| uses: actions/checkout@v5 | |
| if: ${{ ! cancelled() && steps.primary_tcpdirect_checkout.outcome == 'failure' }} | |
| with: | |
| repository: ${{ github.repository_owner }}/tcpdirect | |
| path: tcpdirect | |
| ref: ${{ env.TCPDIRECT_VERSION }} | |
| - name: Checkout packetdrill | |
| uses: actions/checkout@v5 | |
| continue-on-error: true | |
| with: | |
| repository: ${{ github.repository_owner }}/packetdrill-tcpdirect | |
| path: packetdrill-tcpdirect | |
| ref: tcpdirect-8.1 | |
| - name: Install the TCPDirect build and test dependencies | |
| uses: ./tcpdirect/.github/actions/install-dependencies | |
| - name: Build the base TCPDirect library | |
| uses: ./tcpdirect/.github/actions/build | |
| with: | |
| tcpdirect_tree: ${{ env.TCPDIRECT_TREE }} | |
| onload_tree: ${{ env.ONLOAD_TREE }} | |
| build_target: all | |
| debug: true | |
| - name: Build the TCPDirect socket shim | |
| uses: ./tcpdirect/.github/actions/build | |
| with: | |
| tcpdirect_tree: ${{ env.TCPDIRECT_TREE }} | |
| onload_tree: ${{ env.ONLOAD_TREE }} | |
| build_target: shim | |
| debug: true | |
| - name: Run the TCPDirect unit tests | |
| uses: ./tcpdirect/.github/actions/test | |
| with: | |
| tcpdirect_tree: ${{ env.TCPDIRECT_TREE }} | |
| onload_tree: ${{ env.ONLOAD_TREE }} | |
| test_timeout_multiplier: 2 | |
| run_slow_tests: false |