Added first stub for the CI script
This commit is contained in:
parent
60129c0145
commit
b7f56d8dcc
2 changed files with 58 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/venv
|
||||||
|
/repo
|
56
bin/run_ci_tests.sh
Executable file
56
bin/run_ci_tests.sh
Executable 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
|
||||||
|
|
Loading…
Reference in a new issue