Skip to content
Snippets Groups Projects
Commit 90051690 authored by Daniel Lyons's avatar Daniel Lyons
Browse files

An attempt to support Docker without Conda

parent 001a0a3d
No related branches found
No related tags found
No related merge requests found
FROM python:3.8-slim
# We happen to expose this port
EXPOSE 3456:tcp
# Environment variables
ENV PIP_NO_CACHE_DIR false
ENV CAPO_PROFILE docker
# Set up Capo
WORKDIR /root/.capo
COPY docker.properties docker.properties
# Get postgres/mysql development stuff in the image
RUN apt-get update \
&& apt-get install -y libmariadb-dev-compat gcc libpq-dev \
&& rm -rf /var/lib/apt/lists
# Get the code into the image
WORKDIR /code
COPY . .
WORKDIR /code/services/workflow
# Python library installation
RUN pip install -r requirements.txt \
&& python setup.py develop
ENTRYPOINT pserve --reload development.ini
# This file is intended to support the Condaless.dockerfile, not for actual development
# DO NOT MODIFY THIS FILE, THIS IS FOR DOCKER ONLY!
-e ../../shared/schema
-e ../../shared/channels
-e ../../shared/workspaces
-e ../../apps/cli/utilities/wf_monitor
pycapo == 0.3.0
pyramid == 1.10
pyramid_beaker == 0.8
pyramid_debugtoolbar == 4.5
pyramid_retry == 2.1.1
pyramid_tm == 2.2.1
requests == 2.23
sqlalchemy == 1.3
waitress == 1.4
zope.sqlalchemy == 1.1
......@@ -14,91 +14,82 @@ from setuptools import setup, find_packages
# For matching the version string.
import re
this_module = 'workflow'
this_module = "workflow"
here = path.abspath(path.dirname(__file__))
# Get the long description from the README file
with open(path.join(here, 'README.md'), encoding='utf-8') as f:
with open(path.join(here, "README.md"), encoding="utf-8") as f:
long_description = f.read()
def read(*parts):
with open(path.join(here, *parts), 'r') as fp:
with open(path.join(here, *parts), "r") as fp:
return fp.read()
def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r"^___version___ = ['\"]([^'\"]*)['\"]",
version_file, re.M)
version_match = re.search(
r"^___version___ = ['\"]([^'\"]*)['\"]", version_file, re.M
)
if version_match:
return version_match.group(1)
raise RuntimeError("Unable to find version string.")
requires = [
'pycapo',
'pyramid',
'pyramid_beaker',
'pyramid_debugtoolbar',
'pyramid_tm',
'requests',
'ssa-schema',
'sqlalchemy',
'waitress',
'ssa-workspaces',
'zope.sqlalchemy'
"pycapo",
"pyramid",
"pyramid_beaker",
"pyramid_debugtoolbar",
"pyramid_tm",
"pyramid_retry",
"requests",
"ssa-schema",
"sqlalchemy",
"waitress",
"ssa-workspaces",
"zope.sqlalchemy",
]
setup(
name='ssa-' + this_module,
name="ssa-" + this_module,
# Versions should comply with PEP440. For a discussion on single-sourcing
# the version across setup.py and the project code, see
# https://packaging.python.org/en/latest/single_source_version.html
version=find_version('src/' + this_module, '_version.py'),
description='Workflow: the Workspaces Workflow Service',
version=find_version("src/" + this_module, "_version.py"),
description="Workflow: the Workspaces Workflow Service",
long_description=long_description,
# Author details
author='Science Support and Archive',
author_email='ssa-announcements@nrao.edu',
author="Science Support and Archive",
author_email="ssa-announcements@nrao.edu",
# Choose your license
license='GPL',
license="GPL",
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
classifiers=[
# How mature is this project? Common values are
# 3 - Alpha
# 4 - Beta
# 5 - Production/Stable
'Development Status :: 4 - Beta',
"Development Status :: 4 - Beta",
# Indicate who your project is intended for
'Intended Audience :: Developers',
'Topic :: Software Development :: Build Tools',
"Intended Audience :: Developers",
"Topic :: Software Development :: Build Tools",
# Pick your license as you wish (should match "license" above)
'License :: OSI Approved :: GPL License',
"License :: OSI Approved :: GPL License",
# Specify the Python versions you support here. In particular, ensure
# that you indicate whether you support Python 2, Python 3 or both.
'Programming Language :: Python :: 3.6',
"Programming Language :: Python :: 3.6",
],
install_requires=requires,
extras_require={
'dev': [
'pyramid_debugtoolbar',
"dev": [
"pyramid_debugtoolbar",
],
},
package_dir={'': 'src'},
package_dir={"": "src"},
packages=find_packages(),
entry_points={
'paste.app_factory': [
'main = workflow.server:main'
],
"paste.app_factory": ["main = workflow.server:main"],
},
)
......@@ -4,23 +4,21 @@
from pathlib import Path
from setuptools import setup, find_packages
VERSION = open('src/schema/_version.py').readlines()[-1].split()[-1].strip("\"'")
README = Path('README.md').read_text()
VERSION = open("src/schema/_version.py").readlines()[-1].split()[-1].strip("\"'")
README = Path("README.md").read_text()
setup(
name='ssa-' + Path().absolute().name,
name="ssa-" + Path().absolute().name,
version=VERSION,
description='NRAO Archive Schema Library',
description="NRAO Archive Schema Library",
long_description=README,
author='NRAO SSA Team',
author_email='dms-ssa@nrao.edu',
url='TBD',
author="NRAO SSA Team",
author_email="dms-ssa@nrao.edu",
url="TBD",
license="GPL",
install_requires=['sqlalchemy', 'pycapo', 'psycopg2', 'mysqlclient', 'cx_Oracle'],
install_requires=["sqlalchemy", "pycapo", "psycopg2", "mysqlclient", "cx_Oracle"],
keywords=[],
packages=['schema'],
package_dir={'':'src'},
classifiers=[
'Programming Language :: Python :: 3.8'
]
packages=["schema"],
package_dir={"": "src"},
classifiers=["Programming Language :: Python :: 3.8"],
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment