# Run sent to worker: doanac-reckless == 2021-03-23 20:29:32.105694: Setting up runner on worker == 2021-03-23 20:29:33.152379: Steps to recreate inside simulator wget -O simulate.sh https://api.gavelci.us/projects/jobserv/builds/196/runs/unit-test//.simulate.sh # wget'ing the file may require the --header flag if the # jobserv API requires authentication. sh ./simulate.sh == 2021-03-23 20:29:33.355546: Pulling container: python:3.6-alpine 3.6-alpine: Pulling from library/python Digest: sha256:63cc6a8a4b923c4cd3781981317cd4e6aa377d4eb9d8c8a8a7299092f3fc0372 Status: Image is up to date for python:3.6-alpine docker.io/library/python:3.6-alpine == 2021-03-23 20:29:35.188164: Preparing bind mounts 2021-03-23 20:29:35.188881: INFO Creating secret: githubtok 2021-03-23 20:29:35.189027: INFO Creating secret: webhook-key 2021-03-23 20:29:35.189151: INFO Creating secret: milosz 2021-03-23 20:29:35.189289: INFO Adding shared volume: /lmp-bitbake-cache == 2021-03-23 20:29:35.344546: Creating container .netrc file 2021-03-23 20:29:35.344698: INFO Creating token for jobserv run access 2021-03-23 20:29:35.344765: INFO Creating a github token entry == 2021-03-23 20:29:35.501283: Preparing script == 2021-03-23 20:29:35.670414: Cloning git repository 2021-03-23 20:29:35.670476: INFO Clone_url: https://github.com/doanac/jobserv.git 2021-03-23 20:29:35.670516: INFO Checking to see if https://github.com/doanac/jobserv.git requires authentication. 2021-03-23 20:29:35.912791: INFO Server does not appear to need credentials for cloning 2021-03-23 20:29:35.913332: INFO Adding githubtok to .gitconfig 2021-03-23 20:29:35.913517: INFO Git install supports submodules Cloning into '/srv/gavelci-worker/runs/tmpj1h_yvtd/repo'... 2021-03-23 20:29:36.942271: INFO Checking out: e23d166967e9b188c18d6967d8e207e88419c43c Switched to branch 'jobserv-run' == 2021-03-23 20:29:37.542135: Setting up container environment 2021-03-23 20:29:37.542182: INFO Container environment variables: GH_PRNUM=40 GH_OWNER=foundriesio GH_REPO=jobserv GH_STATUS_URL=https://api.github.com/repos/foundriesio/jobserv/statuses/e23d166967e9b188c18d6967d8e207e88419c43c GH_TARGET_REPO=https://github.com/foundriesio/jobserv.git GIT_URL=https://github.com/doanac/jobserv.git GIT_SHA_BASE=1f9ac6afa55c80e72b7c2889a2c89ea4ae9a4152 GIT_OLD_SHA=1f9ac6afa55c80e72b7c2889a2c89ea4ae9a4152 GIT_SHA=e23d166967e9b188c18d6967d8e207e88419c43c H_PROJECT=jobserv H_BUILD=196 H_RUN=unit-test H_WORKER=doanac-reckless == 2021-03-23 20:29:37.700954: Running script inside container + apk --no-cache add git python3-dev musl-dev g++ openssl libffi-dev openssl-dev fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz (1/26) Installing libgcc (10.2.1_pre1-r3) (2/26) Installing libstdc++ (10.2.1_pre1-r3) (3/26) Installing binutils (2.35.1-r1) (4/26) Installing libgomp (10.2.1_pre1-r3) (5/26) Installing libatomic (10.2.1_pre1-r3) (6/26) Installing libgphobos (10.2.1_pre1-r3) (7/26) Installing gmp (6.2.1-r0) (8/26) Installing isl22 (0.22-r0) (9/26) Installing mpfr4 (4.1.0-r0) (10/26) Installing mpc1 (1.2.0-r0) (11/26) Installing gcc (10.2.1_pre1-r3) (12/26) Installing musl-dev (1.2.2-r0) (13/26) Installing libc-dev (0.7.2-r3) (14/26) Installing g++ (10.2.1_pre1-r3) (15/26) Installing brotli-libs (1.0.9-r3) (16/26) Installing nghttp2-libs (1.42.0-r1) (17/26) Installing libcurl (7.74.0-r1) (18/26) Installing pcre2 (10.36-r0) (19/26) Installing git (2.30.2-r0) (20/26) Installing linux-headers (5.7.8-r0) (21/26) Installing pkgconf (1.7.3-r0) (22/26) Installing libffi-dev (3.3-r2) (23/26) Installing openssl (1.1.1j-r0) (24/26) Installing openssl-dev (1.1.1j-r0) (25/26) Installing python3 (3.8.8-r0) (26/26) Installing python3-dev (3.8.8-r0) Executing busybox-1.32.1-r3.trigger OK: 299 MiB in 60 packages + git config --global user.email cibot@example.com + git config --global user.name cibot + ls /lmp-bitbake-cache/ dmesg.out + sh ./unit-test.sh WARNING: Using sqlite database - work queue testing will be skipped Collecting pip Downloading https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl (1.5MB) Installing collected packages: pip Found existing installation: pip 18.1 Uninstalling pip-18.1: Successfully uninstalled pip-18.1 Successfully installed pip-21.0.1 Requirement already satisfied: setuptools in /tmp/tmp.EkCgMO/lib/python3.6/site-packages (40.6.2) Collecting setuptools Downloading setuptools-54.2.0-py3-none-any.whl (785 kB) Installing collected packages: setuptools Attempting uninstall: setuptools Found existing installation: setuptools 40.6.2 Uninstalling setuptools-40.6.2: Successfully uninstalled setuptools-40.6.2 Successfully installed setuptools-54.2.0 Collecting Werkzeug==0.14.1 Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322 kB) Collecting flask==1.0.2 Downloading Flask-1.0.2-py2.py3-none-any.whl (91 kB) Collecting Flask-SQLAlchemy==2.3.2 Downloading Flask_SQLAlchemy-2.3.2-py2.py3-none-any.whl (16 kB) Collecting Flask-Migrate==2.3.1 Downloading Flask_Migrate-2.3.1-py2.py3-none-any.whl (12 kB) Collecting Flask-Testing==0.7.1 Downloading Flask-Testing-0.7.1.tar.gz (43 kB) Collecting google_cloud_storage==1.13.2 Downloading google_cloud_storage-1.13.2-py2.py3-none-any.whl (59 kB) Collecting gunicorn==19.9.0 Downloading gunicorn-19.9.0-py2.py3-none-any.whl (112 kB) Collecting PyYAML==4.2b4 Downloading PyYAML-4.2b4.tar.gz (262 kB) Collecting requests==2.21.0 Downloading requests-2.21.0-py2.py3-none-any.whl (57 kB) Collecting PyMySQL==0.9.3 Downloading PyMySQL-0.9.3-py2.py3-none-any.whl (47 kB) Collecting wheel==0.32.3 Downloading wheel-0.32.3-py2.py3-none-any.whl (21 kB) Collecting pykwalify==1.7.0 Downloading pykwalify-1.7.0-py2.py3-none-any.whl (40 kB) Collecting python-dateutil==2.7.5 Downloading python_dateutil-2.7.5-py2.py3-none-any.whl (225 kB) Collecting pytz==2018.7 Downloading pytz-2018.7-py2.py3-none-any.whl (506 kB) Collecting setproctitle==1.1.10 Downloading setproctitle-1.1.10.zip (34 kB) Collecting cryptography==3.2 Downloading cryptography-3.2.tar.gz (540 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'done' Collecting bcrypt==3.1.5 Downloading bcrypt-3.1.5.tar.gz (42 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'done' Collecting pyjwt==1.7.1 Downloading PyJWT-1.7.1-py2.py3-none-any.whl (18 kB) Collecting dataclasses==0.6.0 Downloading dataclasses-0.6-py3-none-any.whl (14 kB) Collecting cffi>=1.1 Using cached cffi-1.14.5.tar.gz (475 kB) Collecting six>=1.4.1 Downloading six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting itsdangerous>=0.24 Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB) Collecting click>=5.1 Downloading click-7.1.2-py2.py3-none-any.whl (82 kB) Collecting Jinja2>=2.10 Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB) Collecting alembic>=0.7 Downloading alembic-1.5.8-py2.py3-none-any.whl (159 kB) Collecting SQLAlchemy>=0.8.0 Downloading SQLAlchemy-1.4.2.tar.gz (7.5 MB) Collecting google-resumable-media>=0.3.1 Downloading google_resumable_media-1.2.0-py2.py3-none-any.whl (75 kB) Collecting google-cloud-core<0.30dev,>=0.29.0 Downloading google_cloud_core-0.29.1-py2.py3-none-any.whl (25 kB) Collecting google-api-core<2.0.0dev,>=1.6.0 Downloading google_api_core-1.26.2-py2.py3-none-any.whl (93 kB) Collecting docopt>=0.6.2 Downloading docopt-0.6.2.tar.gz (25 kB) Collecting chardet<3.1.0,>=3.0.2 Downloading chardet-3.0.4-py2.py3-none-any.whl (133 kB) Collecting idna<2.9,>=2.5 Downloading idna-2.8-py2.py3-none-any.whl (58 kB) Collecting urllib3<1.25,>=1.21.1 Downloading urllib3-1.24.3-py2.py3-none-any.whl (118 kB) Collecting certifi>=2017.4.17 Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB) Collecting python-editor>=0.3 Downloading python_editor-1.0.4-py3-none-any.whl (4.9 kB) Collecting Mako Downloading Mako-1.1.4-py2.py3-none-any.whl (75 kB) Collecting pycparser Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB) Collecting protobuf>=3.12.0 Downloading protobuf-3.15.6-py2.py3-none-any.whl (173 kB) Requirement already satisfied: setuptools>=40.3.0 in /tmp/tmp.EkCgMO/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.6.0->google_cloud_storage==1.13.2->-r requirements.txt (line 6)) (54.2.0) Collecting packaging>=14.3 Downloading packaging-20.9-py2.py3-none-any.whl (40 kB) Collecting googleapis-common-protos<2.0dev,>=1.6.0 Downloading googleapis_common_protos-1.53.0-py2.py3-none-any.whl (198 kB) Collecting google-auth<2.0dev,>=1.21.1 Downloading google_auth-1.28.0-py2.py3-none-any.whl (136 kB) Collecting pyasn1-modules>=0.2.1 Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB) Collecting rsa<5,>=3.1.4 Downloading rsa-4.7.2-py3-none-any.whl (34 kB) Collecting cachetools<5.0,>=2.0.0 Downloading cachetools-4.2.1-py3-none-any.whl (12 kB) Collecting google-crc32c<2.0dev,>=1.0 Downloading google-crc32c-1.1.2.tar.gz (12 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'done' Collecting MarkupSafe>=0.23 Downloading MarkupSafe-1.1.1.tar.gz (19 kB) Collecting pyparsing>=2.0.2 Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB) Collecting pyasn1<0.5.0,>=0.4.6 Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) Collecting importlib-metadata Downloading importlib_metadata-3.7.3-py3-none-any.whl (12 kB) Collecting greenlet!=0.4.17 Downloading greenlet-1.0.0.tar.gz (84 kB) Collecting zipp>=0.5 Downloading zipp-3.4.1-py3-none-any.whl (5.2 kB) Collecting typing-extensions>=3.6.4 Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Using legacy 'setup.py install' for Flask-Testing, since package 'wheel' is not installed. Using legacy 'setup.py install' for PyYAML, since package 'wheel' is not installed. Using legacy 'setup.py install' for setproctitle, since package 'wheel' is not installed. Using legacy 'setup.py install' for cffi, since package 'wheel' is not installed. Using legacy 'setup.py install' for docopt, since package 'wheel' is not installed. Using legacy 'setup.py install' for MarkupSafe, since package 'wheel' is not installed. Using legacy 'setup.py install' for SQLAlchemy, since package 'wheel' is not installed. Using legacy 'setup.py install' for greenlet, since package 'wheel' is not installed. Building wheels for collected packages: bcrypt, cryptography, google-crc32c Building wheel for bcrypt (PEP 517): started Building wheel for bcrypt (PEP 517): finished with status 'done' Created wheel for bcrypt: filename=bcrypt-3.1.5-cp36-cp36m-linux_x86_64.whl size=31357 sha256=8005d329e57837d83c7a2327c1dcfd017c55a684b51b80aa759c601cc456bf58 Stored in directory: /root/.cache/pip/wheels/cd/86/5e/e88158de61faa7dceb6aa1baba7cfa5f37c0a2652179761607 Building wheel for cryptography (PEP 517): started Building wheel for cryptography (PEP 517): finished with status 'done' Created wheel for cryptography: filename=cryptography-3.2-cp36-cp36m-linux_x86_64.whl size=362135 sha256=dc10a268d9cd611fee335153a76a0cdc370f8c23c7a73cdf1595358dd4bf6c2c Stored in directory: /root/.cache/pip/wheels/8e/68/36/fe7f69e90643a2d12e8eecbed2945222e29def754f266c7e97 Building wheel for google-crc32c (PEP 517): started Building wheel for google-crc32c (PEP 517): finished with status 'done' Created wheel for google-crc32c: filename=google_crc32c-1.1.2-py3-none-any.whl size=13180 sha256=4b03be30e69f2b2ed5297c77f84a510569d6f6f103228882b1b96ff777fe487b Stored in directory: /root/.cache/pip/wheels/75/a8/38/d3314351d93cfe20d490f95a3e716125c3dc6ec558150fbbfc Successfully built bcrypt cryptography google-crc32c Installing collected packages: six, pyasn1, zipp, urllib3, typing-extensions, rsa, pyparsing, pycparser, pyasn1-modules, protobuf, MarkupSafe, idna, chardet, certifi, cachetools, Werkzeug, requests, pytz, packaging, Jinja2, itsdangerous, importlib-metadata, greenlet, googleapis-common-protos, google-auth, click, cffi, SQLAlchemy, python-editor, python-dateutil, Mako, google-crc32c, google-api-core, flask, PyYAML, google-resumable-media, google-cloud-core, Flask-SQLAlchemy, docopt, alembic, wheel, setproctitle, PyMySQL, pykwalify, pyjwt, gunicorn, google-cloud-storage, Flask-Testing, Flask-Migrate, dataclasses, cryptography, bcrypt Running setup.py install for MarkupSafe: started Running setup.py install for MarkupSafe: finished with status 'done' Running setup.py install for greenlet: started Running setup.py install for greenlet: finished with status 'done' Running setup.py install for cffi: started Running setup.py install for cffi: finished with status 'done' Running setup.py install for SQLAlchemy: started Running setup.py install for SQLAlchemy: finished with status 'done' Running setup.py install for PyYAML: started Running setup.py install for PyYAML: finished with status 'done' Running setup.py install for docopt: started Running setup.py install for docopt: finished with status 'done' Running setup.py install for setproctitle: started Running setup.py install for setproctitle: finished with status 'done' Running setup.py install for Flask-Testing: started Running setup.py install for Flask-Testing: finished with status 'done' Successfully installed Flask-Migrate-2.3.1 Flask-SQLAlchemy-2.3.2 Flask-Testing-0.7.1 Jinja2-2.11.3 Mako-1.1.4 MarkupSafe-1.1.1 PyMySQL-0.9.3 PyYAML-4.2b4 SQLAlchemy-1.4.2 Werkzeug-0.14.1 alembic-1.5.8 bcrypt-3.1.5 cachetools-4.2.1 certifi-2020.12.5 cffi-1.14.5 chardet-3.0.4 click-7.1.2 cryptography-3.2 dataclasses-0.6 docopt-0.6.2 flask-1.0.2 google-api-core-1.26.2 google-auth-1.28.0 google-cloud-core-0.29.1 google-cloud-storage-1.13.2 google-crc32c-1.1.2 google-resumable-media-1.2.0 googleapis-common-protos-1.53.0 greenlet-1.0.0 gunicorn-19.9.0 idna-2.8 importlib-metadata-3.7.3 itsdangerous-1.1.0 packaging-20.9 protobuf-3.15.6 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.20 pyjwt-1.7.1 pykwalify-1.7.0 pyparsing-2.4.7 python-dateutil-2.7.5 python-editor-1.0.4 pytz-2018.7 requests-2.21.0 rsa-4.7.2 setproctitle-1.1.10 six-1.15.0 typing-extensions-3.7.4.3 urllib3-1.24.3 wheel-0.32.3 zipp-3.4.1 Collecting junitxml==0.7 Downloading junitxml-0.7.tar.gz (26 kB) Collecting python-subunit==1.3.0 Downloading python_subunit-1.3.0-py2.py3-none-any.whl (104 kB) Collecting extras Downloading extras-1.0.0-py2.py3-none-any.whl (7.3 kB) Collecting testtools>=0.9.34 Downloading testtools-2.4.0-py2.py3-none-any.whl (185 kB) Requirement already satisfied: six>=1.4.0 in /tmp/tmp.EkCgMO/lib/python3.6/site-packages (from testtools>=0.9.34->python-subunit==1.3.0) (1.15.0) Collecting unittest2>=1.0.0 Downloading unittest2-1.1.0-py2.py3-none-any.whl (96 kB) Collecting fixtures>=1.3.0 Downloading fixtures-3.0.0-py2.py3-none-any.whl (67 kB) Collecting traceback2 Downloading traceback2-1.4.0-py2.py3-none-any.whl (16 kB) Collecting python-mimeparse Downloading python_mimeparse-1.6.0-py2.py3-none-any.whl (6.1 kB) Collecting pbr>=0.11 Downloading pbr-5.5.1-py2.py3-none-any.whl (106 kB) Collecting argparse Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB) Collecting linecache2 Downloading linecache2-1.0.0-py2.py3-none-any.whl (12 kB) Building wheels for collected packages: junitxml Building wheel for junitxml (setup.py): started Building wheel for junitxml (setup.py): finished with status 'done' Created wheel for junitxml: filename=junitxml-0.7-py3-none-any.whl size=16309 sha256=f9b0ea27b546cefd5cd6d7cfbaa3898804fac9c40f652b92884d454c0d68408a Stored in directory: /root/.cache/pip/wheels/e1/de/4c/de2993c29589ee603d067af9b3d4bd876fec302f7738c5bf93 Successfully built junitxml Installing collected packages: linecache2, traceback2, pbr, argparse, unittest2, python-mimeparse, fixtures, extras, testtools, python-subunit, junitxml Successfully installed argparse-1.4.0 extras-1.0.0 fixtures-3.0.0 junitxml-0.7 linecache2-1.0.0 pbr-5.5.1 python-mimeparse-1.6.0 python-subunit-1.3.0 testtools-2.4.0 traceback2-1.4.0 unittest2-1.1.0 hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Cloning into '/tmp/tmph_eezmbx/repo-src/submod'... done. hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m Cloning into '/tmp/tmph_eezmbx/nested-par/repo-src'... done. hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m == 2021-03-23 20:31:41.914029: test-execzZZ 2021-03-23 20:31:41.970702: ERROR foo bar == 2021-03-23 20:31:41.970926: test_exec 2021-03-23 20:31:41.970926: ERROR Traceback (most recent call last): | File "/repo/tests/runner/test_logging.py", line 44, in test_exec | raise RuntimeError() |RuntimeError | == 2021-03-23 20:31:41.971376: test_exec_cancelled 2021-03-23 20:31:41.971606: INFO foo bar 2021-03-23 20:31:41.971866: WARN foo bar /tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/relationships.py:3454: SAWarning: relationship 'ProjectTrigger.project' will copy column projects.id to column project_trigger.proj_id, which conflicts with relationship(s): 'Project.triggers' (copies projects.id to project_trigger.proj_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. The 'overlaps' parameter may be used to remove this warning. for (pr, fr_) in other_props /tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/relationships.py:3454: SAWarning: relationship 'Build.project' will copy column projects.id to column builds.proj_id, which conflicts with relationship(s): 'Project.builds' (copies projects.id to builds.proj_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. The 'overlaps' parameter may be used to remove this warning. for (pr, fr_) in other_props /tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/relationships.py:3454: SAWarning: relationship 'Run.build' will copy column builds.id to column runs.build_id, which conflicts with relationship(s): 'Build.runs' (copies builds.id to runs.build_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. The 'overlaps' parameter may be used to remove this warning. for (pr, fr_) in other_props /tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/relationships.py:3454: SAWarning: relationship 'Test.run' will copy column runs.id to column tests.run_id, which conflicts with relationship(s): 'Run.tests' (copies runs.id to tests.run_id). If this is not the intention, consider if these relationships should be linked with back_populates, or if viewonly=True should be applied to one or more if they are read-only. For the less common case that foreign key constraints are partially overlapping, the orm.foreign() annotation can be used to isolate the columns that should be written towards. The 'overlaps' parameter may be used to remove this warning. for (pr, fr_) in other_props 2021-03-23 20:31:42,242 ERROR: Unexpected error caught in BP error handler Traceback (most recent call last): File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/repo/jobserv/api/build.py", line 69, in build_create d.get('queue-priority', 0)) File "/repo/jobserv/trigger.py", line 106, in trigger_build proj_def = ProjectDefinition.validate_data(proj_def) File "/repo/jobserv/project.py", line 197, in validate_data c = Core(source_data=data, schema_files=[schema]) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/pykwalify/core.py", line 114, in __init__ raise CoreError(u"No source file/data was loaded") pykwalify.errors.CoreError: 2021-03-23 20:31:43,213 ERROR: Unexpected error caught in BP error handler Traceback (most recent call last): File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/repo/jobserv/api/project.py", line 68, in project_run_history Build, Project File "", line 2, in join File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/base.py", line 96, in _generative x = fn(self, *args, **kw) File "", line 2, in join File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/base.py", line 224, in generate fn(self, *args[1:], **kw) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2330, in join for i, prop in enumerate(_props) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 2330, in for i, prop in enumerate(_props) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py", line 176, in expect element, argname=argname, **kw File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py", line 388, in _literal_coercion self._raise_for_expected(element, argname) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py", line 270, in _raise_for_expected util.raise_(exc.ArgumentError(msg, code=code), replace_context=err) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 198, in raise_ raise exception sqlalchemy.exc.ArgumentError: SQL expression for ON clause expected, got . 2021-03-23 20:31:43,620 INFO: Updating the rundef from simple->github_pr 2021-03-23 20:31:43,855 INFO: Updating the rundef from simple->gith_poller 2021-03-23 20:31:43,901 ERROR: Caught integrity error and failed run: 1 Traceback (most recent call last): File "/repo/jobserv/api/run.py", line 124, in _handle_triggers run_trigger['type'], run.queue_priority) File "/repo/jobserv/api/run.py", line 64, in _create_triggers parent_type, queue_priority) File "/repo/jobserv/trigger.py", line 60, in trigger_runs raise ValueError('A run named "%s" already exists' % name) ValueError: A run named "collision-name" already exists 2021-03-23 20:31:43,949 INFO: Updating the rundef from simple->github_pr 2021-03-23 20:31:48,576 ERROR: Unable to check doesnot matter.git/info/refs?service=git-upload-pack for changes: 500 2021-03-23 20:31:48,581 INFO: Adding foo to poller list 2021-03-23 20:31:48,586 INFO: Updating foo 2021-03-23 20:31:48,588 INFO: Looking for changes to: url1 2021-03-23 20:31:48,588 INFO: url1 ref1 change oldsha->sha1 2021-03-23 20:31:48,589 INFO: Looking for changes to: url1 2021-03-23 20:31:48,589 INFO: First run detected for url1 - ref1 2021-03-23 20:31:48,589 INFO: Looking for changes to: url1 2021-03-23 20:31:48,589 INFO: First run detected for url1 - ref2 2021-03-23 20:31:48,590 INFO: Trigger build for proj with params: {'GIT_URL': 'fake'} 2021-03-23 20:31:48,590 INFO: Skipping build for proj because of skip-ci message 2021-03-23 20:31:48,590 INFO: Trigger build for proj with params: {'GIT_URL': 'https://github.com'} 2021-03-23 20:31:48,590 INFO: Skipping build for proj because of skip-ci message 2021-03-23 20:31:48,591 INFO: Trigger build for proj with params: {'GIT_URL': 'https://fake.com'} 2021-03-23 20:31:48,591 INFO: Skipping build for proj because of skip-ci message 2021-03-23 20:31:48,609 INFO: Found completed test lava-id(12): test-url 2021-03-23 20:31:48,632 INFO: Found completed test lava-id(12): test-url 2021-03-23 20:31:48,673 INFO: Found completed test lava-id(12): test-url 2021-03-23 20:31:51,293 ERROR: validation.invalid 2021-03-23 20:31:51,294 ERROR: --- All found errors --- 2021-03-23 20:31:51,294 ERROR: ["Cannot find required key 'timeout'. Path: ''"] 2021-03-23 20:31:51,549 ERROR: Failing cancelled run: proj1/1/bla 2021-03-23 20:31:51,796 INFO: marking w1 offline 81s without a check-in 2021-03-23 20:31:52,043 INFO: marking w1 offline (no pings log) 2021-03-23 20:31:52,417 INFO: rotating pings log to: /tmp/tmpisvnyijo/w1/pings.log.1616531512 2021-03-23 20:31:52,680 ERROR: Found stuck run proj1/1/bla on worker None 2021-03-23 20:31:52,685 ERROR: Found stuck run proj1/1/bla on worker None 2021-03-23 20:31:53,390 INFO: Entering surge support for armhf: count=1 2021-03-23 20:31:53,403 INFO: Exiting surge support for armhf 2021-03-23 20:31:53,403 INFO: Entering surge support for amd64: count=2 2021-03-23 20:31:53,405 INFO: Entering surge support for armhf: count=3 2021-03-23 20:31:53,665 INFO: Entering surge support for amd64: count=1 2021-03-23 20:31:53,673 INFO: Exiting surge support for amd64 2021-03-23 20:31:53,921 INFO: truncating the pings log Docker not available Traceback (most recent call last): testtools.testresult.real._StringException: Traceback (most recent call last): File "/repo/tests/test_api_project.py", line 96, in test_project_run_history r = self.get_json('/projects/proj-1/history/run0/') File "/repo/tests/__init__.py", line 43, in get_json self.assertEqual(status_code, resp.status_code, resp.data) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/unittest2/case.py", line 836, in assertEqual assertion_func(first, second, msg=msg) File "/tmp/tmp.EkCgMO/lib/python3.6/site-packages/unittest2/case.py", line 829, in _baseAssertEqual raise self.failureException(msg) AssertionError: 200 != 500 : b'{\n "data": {\n "error_msg": "SQL expression for ON clause expected, got <class \'jobserv.models.Project\'>.", \n "message": "An unexpected error occurred", \n "stack_trace": "Traceback (most recent call last):\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/flask/app.py\\", line 1813, in full_dispatch_request\\n rv = self.dispatch_request()\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/flask/app.py\\", line 1799, in dispatch_request\\n return self.view_functions[rule.endpoint](**req.view_args)\\n File \\"/repo/jobserv/api/project.py\\", line 68, in project_run_history\\n Build, Project\\n File \\"<string>\\", line 2, in join\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/base.py\\", line 96, in _generative\\n x = fn(self, *args, **kw)\\n File \\"<string>\\", line 2, in join\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/base.py\\", line 224, in generate\\n fn(self, *args[1:], **kw)\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/query.py\\", line 2330, in join\\n for i, prop in enumerate(_props)\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/orm/query.py\\", line 2330, in <genexpr>\\n for i, prop in enumerate(_props)\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py\\", line 176, in expect\\n element, argname=argname, **kw\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py\\", line 388, in _literal_coercion\\n self._raise_for_expected(element, argname)\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py\\", line 270, in _raise_for_expected\\n util.raise_(exc.ArgumentError(msg, code=code), replace_context=err)\\n File \\"/tmp/tmp.EkCgMO/lib/python3.6/site-packages/sqlalchemy/util/compat.py\\", line 198, in raise_\\n raise exception\\nsqlalchemy.exc.ArgumentError: SQL expression for ON clause expected, got <class \'jobserv.models.Project\'>.\\n"\n }, \n "status": "error"\n}\n' Test requires MySQL Test requires MySQL Test requires MySQL Script completed with error(s) == 2021-03-23 20:31:58.944581: Finding artifacts to upload Uploading 1 items 21675 bytes == 2021-03-23 20:31:59.788903: Analyzing junit results(/srv/gavelci-worker/runs/tmpj1h_yvtd/archive/junit.xml) == 2021-03-23 20:32:00.409186: Runner has completed ________ | o o| Thumbs Down |___/\_|________ | _____|__| | | || |______| | | | | | | | | |_| |_|