mirror of
https://github.com/Kkevsterrr/geneva
synced 2025-01-05 00:15:04 +01:00
43 lines
2.1 KiB
YAML
43 lines
2.1 KiB
YAML
sudo: required
|
|
dist: "bionic"
|
|
|
|
language: python
|
|
|
|
python:
|
|
- "3.6"
|
|
|
|
install:
|
|
# Travis recently added systemd-resolvd to their VMs. Since full Geneva often runs its own DNS
|
|
# server to test DNS strategies, we need to disable system-resolvd.
|
|
# First disable the service
|
|
- sudo systemctl disable systemd-resolved.service
|
|
# Stop the service
|
|
- sudo systemctl stop systemd-resolved
|
|
# With systemd not running, our own hostname won't resolve - this causes issues with sudo.
|
|
# Add back our hostname to /etc/hosts/ so sudo does not complain
|
|
- echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts
|
|
# Replace the 127.0.0.53 nameserver with Google's
|
|
- sudo sed 's/nameserver.*/nameserver 8.8.8.8/' /etc/resolv.conf > /tmp/resolv.conf.new
|
|
- sudo mv /tmp/resolv.conf.new /etc/resolv.conf
|
|
# Now that systemd-resolv.conf is safely disabled, we can now setup for Geneva
|
|
- sudo apt-get clean # travis having mirror sync issues
|
|
# Install dependencies
|
|
- sudo apt-get update
|
|
- sudo apt-get -y install libnetfilter-queue-dev python3 python3-pip python3-setuptools graphviz
|
|
# Since sudo is required but travis does not set up the root environment, we must override the
|
|
# secure_path in sudoers in order for travis's setup to take effect for sudo commands
|
|
- printf "Defaults\tenv_reset\nDefaults\tmail_badpass\nDefaults\tsecure_path="/home/travis/virtualenv/python3.6.7/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"\nroot\tALL=(ALL:ALL) ALL\n#includedir /etc/sudoers.d\n" > /tmp/sudoers.tmp
|
|
# Verify the sudoers file
|
|
- sudo visudo -c -f /tmp/sudoers.tmp
|
|
# Copy in the sudoers file
|
|
- sudo cp /tmp/sudoers.tmp /etc/sudoers
|
|
# Now that sudo is good to go, finish installing dependencies
|
|
- sudo python3 -m pip install -r requirements.txt
|
|
- sudo python3 -m pip install slackclient pytest-cov
|
|
|
|
script:
|
|
- sudo python3 -m pytest --cov=./ -sv tests/ --tb=short
|
|
|
|
after_script:
|
|
- bash <(curl -s https://codecov.io/bash) -t 83a45966-78ce-44c2-80b3-964ecab4a53d || echo "Codecov did not collect coverage reports"
|