Updated SAI version to Oct 20, 2023 #258
Workflow file for this run
This file contains 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
name: sc-standalone-deb10 | |
on: | |
pull_request: | |
types: [ opened, synchronize, reopened ] | |
branches: [ "**" ] | |
paths: | |
- '.github/workflows/sc-standalone-deb10.yml' | |
- 'dockerfiles/buster/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/buster/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<<EOF' >> $GITHUB_OUTPUT | |
echo "$(git diff --name-only HEAD~1)" >> $GITHUB_OUTPUT | |
echo 'EOF' >> $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 deb10 | |
if: ${{ env.REDIS_RPC == '1' }} | |
- name: Start SAI-C in standalone mode | |
run: ./run.sh -i standalone -o deb10 | |
- 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 ut/test_acl_ut.py ut/test_bridge_ut.py ut/test_vrf_ut.py ut/test_port_ut.py ut/test_fdb_ut.py ut/test_lag_ut.py | |
- name: Run unit tests | |
run: ./exec.sh --no-tty pytest --testbed=saivs_standalone -v -k "test_switch_ut and not sai_map_list_t" | |
- 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 deb10 | |
if: ${{ env.THRIFT_RPC == '1' }} | |
- name: Start SAI-C in standalone mode with SAI thrift | |
run: ./run.sh -i standalone -s thrift -o deb10 | |
- 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 ut/test_fdb_ut.py ut/test_lag_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 |