def main(): mkdirs(INSTALLDIR) os.environ.update(make_build_env()) args = parse_args() if on_github_actions() and not args.test_only: fetch_and_build() if on_github_actions(): dbs = ('sqlite3', 'mysql') else: dbs = ('sqlite3', ) for db in dbs: start_and_test_with_db(db)
def make_build_env(): env = dict(os.environ) libsearpc_dir = abspath(join(TOPDIR, 'libsearpc')) ccnet_dir = abspath(join(TOPDIR, 'ccnet-server')) def _env_add(*a, **kw): kw['env'] = env return prepend_env_value(*a, **kw) _env_add('CPPFLAGS', '-I%s' % join(PREFIX, 'include'), seperator=' ') _env_add('LDFLAGS', '-L%s' % join(PREFIX, 'lib'), seperator=' ') _env_add('LDFLAGS', '-L%s' % join(PREFIX, 'lib64'), seperator=' ') _env_add('PATH', join(PREFIX, 'bin')) if on_github_actions(): _env_add('PYTHONPATH', join(os.environ.get('RUNNER_TOOL_CACHE'), 'Python/3.6.9/x64/lib/python3.6/site-packages')) _env_add('PYTHONPATH', join(PREFIX, 'lib/python3.6/site-packages')) _env_add('PKG_CONFIG_PATH', join(PREFIX, 'lib', 'pkgconfig')) _env_add('PKG_CONFIG_PATH', join(PREFIX, 'lib64', 'pkgconfig')) _env_add('PKG_CONFIG_PATH', libsearpc_dir) _env_add('PKG_CONFIG_PATH', ccnet_dir) _env_add('LD_LIBRARY_PATH', join(PREFIX, 'lib')) # Prepend the seafile-server/python to PYTHONPATH so we don't need to "make # install" each time after editing python files. _env_add('PYTHONPATH', join(SeafileServer().projectdir, 'python')) for key in ('PATH', 'PKG_CONFIG_PATH', 'CPPFLAGS', 'LDFLAGS', 'PYTHONPATH'): info('%s: %s', key, env.get(key, '')) return env
import os import re import sys from os.path import abspath, basename, exists, expanduser, join import requests import termcolor from serverctl import ServerCtl from utils import (cd, chdir, debug, green, info, lru_cache, mkdirs, on_github_actions, red, setup_logging, shell, warning) logger = logging.getLogger(__name__) TOPDIR = abspath(join(os.getcwd(), '..')) if on_github_actions(): PREFIX = expanduser('~/opt/local') else: PREFIX = os.environ.get('SEAFILE_INSTALL_PREFIX', '/usr/local') INSTALLDIR = '/tmp/seafile-tests' def num_jobs(): return int(os.environ.get('NUM_JOBS', 2)) @lru_cache() def make_build_env(): env = dict(os.environ) libsearpc_dir = abspath(join(TOPDIR, 'libsearpc')) ccnet_dir = abspath(join(TOPDIR, 'ccnet-server'))