Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travis ice36 #116

Merged
merged 7 commits into from
Dec 11, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
language: python
python: "2.7"
dist: xenial

virtualenv:
system_site_packages: true
Expand All @@ -25,7 +26,12 @@ before_install:
# Changing the value for sudo will also need to be reviewed at the same time
# This will need to be reviewed when the issue above is fixed
- export PATH=/usr/bin/:$PATH
- sudo apt-get install -y zeroc-ice35
- sudo apt-get -y install python-{pillow,numpy,psutil}
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5E6DA83306132997
- sudo apt-add-repository "deb http://zeroc.com/download/apt/ubuntu`lsb_release -rs` stable main"
- sudo apt-get update
- sudo apt-get -y install zeroc-ice-all-runtime zeroc-ice-all-dev
- sudo pip install -U https://github.com/ome/zeroc-ice-py-ubuntu1604/releases/download/0.1.0/zeroc_ice-3.6.4-cp27-cp27mu-linux_x86_64.whl
- pip install --upgrade pip setuptools
- pip install -r requirements.txt
- pip install flake8
Expand Down
16 changes: 8 additions & 8 deletions omego/artifacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class Artifacts(object):

def __init__(self, args):
self.args = args
if args.build or re.match('[A-Za-z]\w+-\w+', args.branch):
if args.build or re.match(r'[A-Za-z]\w+-\w+', args.branch):
self.artifacts = JenkinsArtifacts(args)
elif re.match('[0-9]+|latest$', args.branch):
self.artifacts = ReleaseArtifacts(args)
Expand Down Expand Up @@ -98,7 +98,7 @@ def create_symlink(self, localpath):
sym = self.args.sym
filename = os.path.basename(localpath)
if sym and sym == 'auto':
m = re.match('([A-Z]+\.\w+)-', filename)
m = re.match(r'([A-Z]+\.\w+)-', filename)
if m:
sym = m.group(1)
else:
Expand Down Expand Up @@ -231,7 +231,7 @@ def __init__(self, args):
buildno = 'lastSuccessfulBuild'
if not buildurl:
buildurl = '%s/job/%s/%s/' % (args.ci, branch, buildno)
if not re.match('\w+://', buildurl):
if not re.match(r'\w+://', buildurl):
buildurl = 'http://%s' % buildurl

log.debug("buildurl: %s", buildurl)
Expand Down Expand Up @@ -288,7 +288,7 @@ def get_latest_runs(self, root):
log.debug('Root url: %s', rurl)

try:
build = re.search('/(\d+)/?$', rurl).group(1)
build = re.search(r'/(\d+)/?$', rurl).group(1)
except Exception:
log.error('Failed to extract build number from url: %s', rurl)
raise Stop(20, 'Failed to parse CI XML')
Expand Down Expand Up @@ -358,10 +358,10 @@ def __init__(self, args):
super(ReleaseArtifacts, self).__init__()
self.args = args

if re.match('[0-9]+\.[0-9]+\.[0-9]+', args.branch):
if re.match(r'[0-9]+\.[0-9]+\.[0-9]+', args.branch):
ver = args.branch
dl_url = '%s/omero/%s/' % (args.downloadurl, ver)
elif re.match('[0-9]+|latest$', args.branch):
elif re.match(r'[0-9]+|latest$', args.branch):
dl_url = self.follow_latest_redirect(args)

dl_icever = self.read_downloads(dl_url + 'artifacts/')
Expand Down Expand Up @@ -417,8 +417,8 @@ def read_downloads(dlurl):
dl_icever = {}
for href in parser.hrefs:
try:
icever = re.search('-(ice\d+).*zip$', href).group(1)
if re.match('\w+://', href):
icever = re.search(r'-(ice\d+).*zip$', href).group(1)
if re.match(r'\w+://', href):
fullurl = href
else:
fullurl = dlurl + href
Expand Down
4 changes: 2 additions & 2 deletions omego/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
log = logging.getLogger("omego.db")

# Regular expression identifying a SQL schema
SQL_SCHEMA_REGEXP = re.compile('.*OMERO(\d+)(\.|A)?(\d*)([A-Z]*)__(\d+)$')
SQL_SCHEMA_REGEXP = re.compile(r'.*OMERO(\d+)(\.|A)?(\d*)([A-Z]*)__(\d+)$')

# Exit codes for db upgrade --dry-run (also used internally)
DB_UPTODATE = 0
Expand Down Expand Up @@ -86,7 +86,7 @@ def __init__(self, dir, command, args, external):

def check_connection(self):
try:
self.psql('-c', '\conninfo')
self.psql('-c', r'\conninfo')
except RunException as e:
log.error(e)
raise Stop(30, 'Database connection check failed')
Expand Down
4 changes: 2 additions & 2 deletions test/unit/test_db.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,9 @@ def test_check_connection(self, connected):
self.mox.StubOutWithMock(db, 'psql')

if connected:
db.psql('-c', '\conninfo')
db.psql('-c', r'\conninfo')
else:
db.psql('-c', '\conninfo').AndRaise(
db.psql('-c', r'\conninfo').AndRaise(
RunException('', '', [], 1, '', ''))
self.mox.ReplayAll()

Expand Down
4 changes: 2 additions & 2 deletions test/unit/test_fileutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,10 @@ def test_rename_backup(self, exists, suffix):
def test_timestamp_filename(self, ext):
if ext:
s = fileutils.timestamp_filename('name', 'test')
assert re.match('^name-\d{8}-\d{6}-\d{6}\.test$', s)
assert re.match(r'^name-\d{8}-\d{6}-\d{6}\.test$', s)
else:
s = fileutils.timestamp_filename('name')
assert re.match('^name-\d{8}-\d{6}-\d{6}$', s)
assert re.match(r'^name-\d{8}-\d{6}-\d{6}$', s)

def test_check_extracted_paths(self):
fileutils.check_extracted_paths(['a/', 'a/b'])
Expand Down
21 changes: 11 additions & 10 deletions travis-build
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,27 @@ pip install dist/*.tar.gz
omego version
omego -h

#Install a new server
#Install a new server without web
#Tests rely on a non-zero error code being returned on failure
if [ $TEST = install ]; then
omego install --initdb --dbhost localhost --dbname omero --prestartfile $HOME/config.omero -v --release 5.0.8 --ice 3.5
omego install --initdb --dbhost localhost --dbname omero --prestartfile $HOME/config.omero -v --release 5.3.5 --ice 3.6 --no-web

# Should return 0 DB_UPTODATE
omego db upgrade -n --dbhost localhost --dbname omero --serverdir OMERO.server-5.0.8-ice35-b60
omego db upgrade -n --dbhost localhost --dbname omero --serverdir OMERO.server-5.3.5-ice36-b73

# Check the expected server version was downloaded
test $(readlink OMERO.server) = './OMERO.server-5.0.8-ice35-b60'
test $(readlink OMERO.server) = './OMERO.server-5.3.5-ice36-b73'

# Check db dump file
omego db dump --serverdir OMERO.server --dumpfile travis-omero.pgdump
pg_restore -e travis-omero.pgdump | grep 'CREATE TABLE dbpatch'

pg_restore -l travis-omero.pgdump | grep 'dbpatch_versions_trigger'
fi

#Test a multistage DB upgrade (4.4 -> 5.3) as part of the server upgrade
#Test a multistage DB upgrade (5.3 -> 5.4) as part of the server upgrade
jburel marked this conversation as resolved.
Show resolved Hide resolved
if [ $TEST = upgrade ]; then
omego download --release 4 --ice 3.5 server
ln -s OMERO.server-4.4.12-ice35-b116 OMERO.server;
omego download --release 5.3 --ice 3.6 server
ln -s OMERO.server-5.3.5-ice36-b73 OMERO.server;

# Should return 3 DB_INIT_NEEDED
RC=0;
Expand All @@ -45,14 +46,14 @@ if [ $TEST = upgrade ]; then
# Should return 0 DB_UPTODATE
omego db upgrade -n --serverdir OMERO.server

omego download --release 5.3 --ice 3.5 server --sym download-server-50
omego download --release 5.4 --ice 3.6 server --sym download-server-50
# Should return 2 DB_UPGRADE_NEEDED
RC=0;
omego db upgrade -n --dbname omero --serverdir download-server-50 || RC=$?
test $RC -eq 2

# Note this should use the already downloaded zip from the previous step
omego install --upgrade --managedb --release=5.3 --ice 3.5 --no-web;
omego install --upgrade --managedb --release=5.4 --ice 3.6 --no-web;

# Should return 0 DB_UPTODATE
omego db upgrade -n --serverdir OMERO.server
Expand Down