diff --git a/.github/workflows/sc-client-deb10-publish.yml b/.github/workflows/sc-client-deb10-publish.yml new file mode 100644 index 00000000..b12444cf --- /dev/null +++ b/.github/workflows/sc-client-deb10-publish.yml @@ -0,0 +1,58 @@ +name: sc-client-deb10-publish + +on: + #push: + pull_request: + types: [ opened, synchronize, reopened ] + branches: ["**"] + #- 'main' + paths: + - '.github/workflows/sc-client-deb10-publish.yml' + - 'dockerfiles/buster/Dockerfile.client' + - 'dockerfiles/buster/Dockerfile.saithrift-client' + - 'common/**' + - 'cli/**' + - 'scripts/**' + - 'configs/**' + - 'tests/**' + - 'setup.py' + - 'build.sh' + - '.dockerignore' + - 'sai.env' + +jobs: + build-sc-client: + name: Build SAI Challenger client image + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + + #- shell: bash + # env: + # DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + # DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + # run: | + # docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" + # echo "$DOCKER_USERNAME" + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Update submodules + run: git submodule update --init + - name: Build client Docker image + run: ./build.sh -i client -o deb10 --nosnappi + - name: Create a tag for DockerHub + run: docker tag sc-client:buster plvisiondevs/sc-client:buster + #- name: docker login + # run: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWORD" + - name: docker push sc-client + run: docker push plvisiondevs/sc-client:buster + - name: Build client Docker image with SAI thrift + run: ./build.sh -i client -s thrift -o deb10 --nosnappi + - name: Create a tag for DockerHub + run: docker tag sc-thrift-client:buster plvisiondevs/sc-thrift-client:buster + - name: docker push sc-thrift-client + run: docker push plvisiondevs/sc-thrift-client:buster + diff --git a/run.sh b/run.sh index 9cc0da97..11ae5a07 100755 --- a/run.sh +++ b/run.sh @@ -188,12 +188,17 @@ if [ "${COMMAND}" = "start" ]; then --device /dev/net/tun:/dev/net/tun \ -d "${IMG_NAME}:${BASE_OS}" else + IMG_NAME=${PREFIX}-client:${BASE_OS} + if [ ! "$(docker inspect --type=image ${IMG_NAME} >/dev/null 2>&1)" ]; then + docker pull plvisiondevs/${IMG_NAME}-latest + docker tag plvisiondevs/${IMG_NAME}-latest ${IMG_NAME} + fi docker run --name ${PREFIX}-client-run \ -v $(pwd):/sai-challenger \ --cap-add=NET_ADMIN \ --device /dev/net/tun:/dev/net/tun \ ${OPTS} \ - -d ${PREFIX}-client:${BASE_OS} + -d ${IMG_NAME} fi elif [ "${COMMAND}" = "stop" ]; then