Add Docker image pull to client-server job workflow #113
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-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 sairedis tests | |
run: ./exec.sh --no-tty -s thrift pytest --testbed=saivs_thrift_standalone -v -k "test_sairec" |