1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Merge pull request #38 from digitalocean/travis-ci

Add Travis CI build
This commit is contained in:
Jeremy Stretch
2016-06-27 16:54:30 -04:00
committed by GitHub
4 changed files with 38 additions and 1 deletions

2
.gitignore vendored
View File

@ -1,6 +1,6 @@
*.pyc
configuration.py
.idea
*.sh
./*.sh
fabfile.py

7
.travis.yml Normal file
View File

@ -0,0 +1,7 @@
language: python
python:
- "2.7"
install:
- pip install -r requirements.txt
script:
- ./scripts/cibuild.sh

View File

@ -1,3 +1,5 @@
# NetBox [![Build Status](https://travis-ci.org/digitalocean/netbox.svg?branch=master)](https://travis-ci.org/digitalocean/netbox)
NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at [DigitalOcean](https://www.digitalocean.com/), NetBox was developed specifically to address the needs of network and infrastructure engineers.
NetBox runs as a web application atop the [Django](https://www.djangoproject.com/) Python framework with a [PostgreSQL](http://www.postgresql.org/) database. For a complete list of requirements, see `requirements.txt`. The code is available [on GitHub](https://github.com/digitalocean/netbox).

28
scripts/cibuild.sh Executable file
View File

@ -0,0 +1,28 @@
#!/bin/bash
# Exit code starts at 0 but is modified if any checks fail
EXIT=0
# Output a line prefixed with a timestamp
info()
{
echo "$(date +'%F %T') |"
}
# Track number of seconds required to run script
START=$(date +%s)
echo "$(info) starting build checks."
# Syntax check all python source files
SYNTAX=$(find . -name "*.py" -type f -exec python -m py_compile {} \; 2>&1)
if [[ ! -z $SYNTAX ]]; then
echo -e "$SYNTAX"
echo -e "\n$(info) detected one or more syntax errors, failing build."
EXIT=1
fi
# Show build duration
END=$(date +%s)
echo "$(info) exiting with code $EXIT after $(($END - $START)) seconds."
exit $EXIT