La creación de TravisCI tiene éxito incluso cuando fallan las testings

Aquí es donde estoy ejecutando mis testings en travis.yml :

 # Run tests script: # Test application in Docker container - ./tools/docker-test.sh 

El script de shell docker-test.sh ve así:

 #!/usr/bin/env bash githash="$(git rev-parse --short HEAD)" echo "-------------------------------------------------" echo "| Running unit tests |" echo "-------------------------------------------------" docker create -it --name test eu.gcr.io/test/test:$githash docker start test docker exec test /bin/sh -c "go test ./..." docker stop test docker rm -fv test 

La construcción de TravisCI es un éxito incluso si las testings fallan.

¿Cómo puedo informar a TravisCI si la testing ha fallado o no? No sé si esto es un problema con los errores que no se propagan desde Docker, los errores que no se propagan desde el script de shell o TravisCI sin saber cuándo las testings go son exitosas o fallan.

La secuencia de commands se está saliendo con el código de estado de la última docker rm -fv test command.

Debe capturar el código de estado de la testing, luego limpiar la window acoplable y luego salir.

Este ejemplo de código proviene de una pregunta ligeramente diferente aquí, pero es la misma solución.

 #!/usr/bin/env bash set -e # Set a default return code RC=2 # Cleanup function cleanup { echo "Removing container" docker stop test || true docker rm -f test || true exit $RC } trap cleanup EXIT # Test steps docker create -it --name test path docker start test docker exec test /bin/sh -c "go test ./..." RC=$?