Skip to content

Adding 2nd set of Test Scripts for create set and remove on the api attribut… #146

Adding 2nd set of Test Scripts for create set and remove on the api attribut…

Adding 2nd set of Test Scripts for create set and remove on the api attribut… #146

name: sc-standalone-deb11
on:
pull_request:
types: [ opened, synchronize, reopened ]
branches: [ "**" ]
paths:
- '.github/workflows/sc-standalone-deb11.yml'
- 'dockerfiles/bullseye/Dockerfile'
- 'npu/broadcom/BCM56850/saivs/Dockerfile'
- 'npu/broadcom/BCM56850/saivs/Dockerfile.saithrift'
- 'common/**'
- 'cli/**'
- 'scripts/**'
- 'configs/**'
- 'tests/**'
- 'setup.py'
- 'build.sh'
- 'run.sh'
- 'exec.sh'
- '.dockerignore'
- 'sai.env'
env:
DOCKER_BASE: 'dockerfiles/bullseye/Dockerfile'
DOCKER_REDIS: 'npu/broadcom/BCM56850/saivs/Dockerfile'
DOCKER_THRIFT: 'npu/broadcom/BCM56850/saivs/Dockerfile.saithrift'
REDIS_RPC: 0
THRIFT_RPC: 0
jobs:
build-sc-stadalone:
name: Build SAI Challenger standalone image
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Update submodules
run: git submodule update --init
- name: Check what files were updated
id: check_changes
run: |
echo 'changed_files=$(git diff --name-only origin/HEAD | xargs)' >> $GITHUB_OUTPUT
- name: Check what Docker images have to be rebuild
run: |
for file in "$DOCKER_BASE" "$DOCKER_REDIS" "sai.env"; do
if [[ "${{ steps.check_changes.outputs.changed_files }}" == *"$file"* ]]; then
echo "REDIS_RPC=1" >> $GITHUB_ENV
fi
done
for file in "$DOCKER_BASE" "$DOCKER_THRIFT" "sai.env"; do
if [[ "${{ steps.check_changes.outputs.changed_files }}" == *"$file"* ]]; then
echo "THRIFT_RPC=1" >> $GITHUB_ENV
fi
done
- name: Build standalone Docker image
run: ./build.sh -i standalone -o deb11
if: ${{ env.REDIS_RPC == '1' }}
- name: Start SAI-C in standalone mode
run: ./run.sh -i standalone -o deb11
- name: Update SAI-C package
run: ./exec.sh --no-tty pip3 install /sai-challenger/common /sai-challenger
if: ${{ env.REDIS_RPC == '0' }}
- name: Run tests
run: ./exec.sh --no-tty pytest --testbed=saivs_standalone -v test_l2_basic.py -v test_vrf.py -v test_dc_t1.py
- name: Run sairedis tests
run: ./exec.sh --no-tty pytest --testbed=saivs_standalone -v -k "test_sairec"
- name: Run unit tests
run: ./exec.sh --no-tty pytest --testbed=saivs_standalone -v -k \
"test_acl_ut or test_bridge_ut or (test_switch_ut and not sai_map_list_t) or test_vrf_ut or test_port_ut.py"
- name: Run data-driven tests
run: ./exec.sh --no-tty pytest --testbed=saivs_standalone -v test_l2_basic_dd.py
- name: Run API tests
run: ./exec.sh --no-tty pytest --testbed=saivs_standalone -v -k "api/test"
- name: Build standalone docker image with SAI thrift
run: ./build.sh -i standalone -s thrift -o deb11
if: ${{ env.THRIFT_RPC == '1' }}
- name: Start SAI-C in standalone mode with SAI thrift
run: ./run.sh -i standalone -s thrift -o deb11
- name: Update SAI-C package
run: ./exec.sh --no-tty -s thrift pip3 install /sai-challenger/common /sai-challenger
if: ${{ env.THRIFT_RPC == '0' }}
- name: Run thrift tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v test_l2_basic.py -v test_vrf.py -v test_dc_t1.py
- name: Run thift data-driven tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v test_l2_basic_dd.py
- name: Run thrift unit tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v ut/test_vrf_ut.py ut/test_bridge_ut.py ut/test_acl_ut.py
- name: Run thrift unit tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v -k \
"(test_switch_ut and not sai_map_list_t and not sai_system_port_config_list_t) or (test_port_ut and not sai_map_list_t)"
- name: Run thrift sairedis tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v -k "test_sairec"
- name: Run thrift API tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v -k "api/test"
- name: Run PTF tests
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v ../usecases/sai-ptf/SAI/ptf/saifdb.py -k FdbAttributeTest