Added first stub for the CI script

This commit is contained in:
Fabio Manganiello 2021-02-24 01:58:43 +01:00
parent 60129c0145
commit b7f56d8dcc
2 changed files with 58 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/venv
/repo

56
bin/run_ci_tests.sh Executable file
View File

@ -0,0 +1,56 @@
#!/bin/bash
BASE_DIR=$(pwd)
VENV_DIR="$BASE_DIR/venv"
REPO_DIR="$BASE_DIR/repo"
TEST_LOG="$BASE_DIR/test.log"
REPO_URL=https://git.platypush.tech/platypush/platypush.git
cleanup() {
echo "Cleaning up environment"
rm -rf "$VENV_DIR" "$REPO_DIR" "$TEST_LOG"
}
prepare_venv() {
echo "Preparing virtual environment"
python -m venv "$VENV_DIR"
cd "$VENV_DIR"
source ./bin/activate
}
install_repo() {
echo "Installing latest version of the repository"
git clone "$REPO_URL" "$REPO_DIR"
cd "$REPO_DIR"
pip install '.[http]'
}
run_tests() {
echo "Running tests"
cd "$REPO_DIR"
pytest 2>&1 | tee "$TEST_LOG"
}
check_test_results() {
grep -e '^FAILED' "$TEST_LOG" >/dev/null
if [[ $? == 0 ]]; then
echo "------------------"
echo "Some tests failed!"
echo "------------------"
cat "$LOGFILE"
else
echo "All tests passed"
fi
}
########
# MAIN #
########
cleanup
prepare_venv
install_repo
run_tests
check_test_results
cleanup