Skip to content

Commit bcc94fd

Browse files
committed
Update the dockerfile to use newer versions
Update minimum python version to 3.8.
1 parent 3b22ba7 commit bcc94fd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+333
-347
lines changed

.circleci/config.yml

+11-11
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ jobs:
7171
working_directory: /home/circleci/project
7272
steps:
7373
- run:
74-
name: Set up Python 3.6
74+
name: Set up Python 3.8
7575
command: |
76-
pyenv install 3.6.3 || true
77-
pyenv global 3.6.3
76+
pyenv install 3.8 || true
77+
pyenv global 3.8
7878
7979
- *ssh-keys
8080
- checkout
@@ -87,33 +87,33 @@ jobs:
8787

8888
unit_tests:
8989
docker:
90-
- image: cimg/python:3.6
90+
- image: cimg/python:3.8
9191
steps:
9292
- checkout
9393
- *virtual-env
9494
- *update-pip
9595
- *ci-deps
9696
- run:
9797
name: Run unit tests
98-
command: tox -e py36
98+
command: tox -e py38
9999
- *upload-coverage
100100

101-
unit_tests_310:
101+
unit_tests_311:
102102
docker:
103-
- image: cimg/python:3.10
103+
- image: cimg/python:3.11
104104
steps:
105105
- checkout
106106
- *virtual-env
107107
- *update-pip
108108
- *ci-deps
109109
- run:
110110
name: Run unit tests
111-
command: tox -e py310
111+
command: tox -e py311
112112
- *upload-coverage
113113

114114
lint:
115115
docker:
116-
- image: cimg/python:3.6
116+
- image: cimg/python:3.8
117117
steps:
118118
- checkout
119119
- *virtual-env
@@ -125,7 +125,7 @@ jobs:
125125

126126
release:
127127
docker:
128-
- image: cimg/python:3.6
128+
- image: cimg/python:3.8
129129
steps:
130130
- checkout
131131
- *virtual-env
@@ -163,7 +163,7 @@ workflows:
163163
filters:
164164
tags:
165165
only: /^v.*/
166-
- unit_tests_310:
166+
- unit_tests_311:
167167
filters:
168168
tags:
169169
only: /^v.*/

CMakeLists.txt

-30
This file was deleted.

Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ubuntu:bionic as base
1+
FROM ubuntu:22.04 as base
22

33
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -qy tzdata && \
44
apt-get install -qy software-properties-common python3-software-properties && \
@@ -15,7 +15,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -qy tzdata
1515
libpython3-dev && \
1616
apt-get clean && rm -rf /var/lib/apt/lists/*
1717

18-
RUN wget https://bootstrap.pypa.io/pip/3.6/get-pip.py && python3 get-pip.py
18+
RUN wget https://bootstrap.pypa.io/pip/get-pip.py && python3 get-pip.py
1919

2020

2121
FROM base as build
@@ -35,7 +35,7 @@ RUN pip3 install /*.tar.gz
3535

3636
RUN useradd -D --shell=/bin/bash && useradd -m worker
3737

38-
RUN chown -R worker:worker /usr/local/lib/python3.6/dist-packages/girder_worker/
38+
RUN chown -R worker:worker /usr/local/lib/python3.10/dist-packages/girder_worker/
3939

4040
USER worker
4141

cmake/travis_continuous.cmake

-21
This file was deleted.

girder_worker/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
logger = log_utils.setupLogger(config)
3232

3333

34-
class GirderWorkerPluginABC(object):
34+
class GirderWorkerPluginABC:
3535
"""
3636
Abstract base class for Girder Worker plugins. Plugins must descend from this
3737
class; see the :ref:`plugins` section for more information.

girder_worker/app.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,6 @@
3636
import jsonpickle
3737
from kombu.serialization import register
3838

39-
import six
40-
4139

4240
@before_task_publish.connect # noqa: C901
4341
def girder_before_task_publish(sender=None, body=None, exchange=None,
@@ -202,7 +200,7 @@ def gw_task_postrun(task=None, sender=None, task_id=None,
202200
# Release stdout/stderr
203201
if hasattr(task, 'job_manager') and \
204202
hasattr(task.job_manager, 'cleanup') and \
205-
six.callable(task.job_manager.cleanup):
203+
callable(task.job_manager.cleanup):
206204
task.job_manager.cleanup()
207205

208206

girder_worker/celeryconfig.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import os
2-
from six.moves import configparser
2+
import configparser
33
import girder_worker
44

55
accept_content = ['json', 'pickle', 'yaml', 'girder_io']

girder_worker/context/nongirder_context.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ def create_task_job(job_defaults, sender=None, body=None,
6363
headers['jobInfoSpec'] = response.json().get('jobInfoSpec')
6464
return response.json()
6565
except requests.exceptions.RequestException as e:
66-
logger.warn('Failed to post job: {}'.format(e))
66+
logger.warn(f'Failed to post job: {e}')
6767

6868
except MissingJobArguments as e:
69-
logger.warn('Girder job not created: {}'.format(str(e)))
69+
logger.warn(f'Girder job not created: {str(e)}')
7070

7171

7272
def attach_girder_api_url(sender=None, body=None, exchange=None,
@@ -83,7 +83,7 @@ def attach_girder_api_url(sender=None, body=None, exchange=None,
8383
"Parent task's request does not contain girder_api_url")
8484
headers['girder_api_url'] = parent_task.request.girder_api_url
8585
except MissingJobArguments as e:
86-
logger.warn('Could not get girder_api_url from parent task: {}'.format(str(e)))
86+
logger.warn(f'Could not get girder_api_url from parent task: {str(e)}')
8787

8888

8989
def attach_girder_client_token(sender=None, body=None, exchange=None,
@@ -101,7 +101,7 @@ def attach_girder_client_token(sender=None, body=None, exchange=None,
101101

102102
headers['girder_client_token'] = parent_task.request.girder_client_token
103103
except MissingJobArguments as e:
104-
logger.warn('Could not get token from parent task: {}'.format(str(e)))
104+
logger.warn(f'Could not get token from parent task: {str(e)}')
105105

106106

107107
def get_async_result_job_property(async_result):

girder_worker/docker/io/__init__.py

+8-11
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22
import errno
33
import stat
44
import abc
5+
import urllib
56
import ssl
67
import sys
7-
import six
8-
from six.moves import http_client as httplib, urllib
8+
from http import client as httplib
99

1010

11-
@six.add_metaclass(abc.ABCMeta)
12-
class FDStreamConnector(object):
11+
class FDStreamConnector(metaclass=abc.ABCMeta):
1312
"""
1413
FDStreamConnector is an abstract base class used to connect a read(input) and write(output)
1514
stream.
@@ -149,8 +148,7 @@ def close(self):
149148
self.output.close()
150149

151150

152-
@six.add_metaclass(abc.ABCMeta)
153-
class StreamReader(object):
151+
class StreamReader(metaclass=abc.ABCMeta):
154152
"""
155153
This represents the interface that must be implemented by a stream reader.
156154
"""
@@ -171,8 +169,7 @@ def close(self):
171169
pass
172170

173171

174-
@six.add_metaclass(abc.ABCMeta)
175-
class StreamWriter(object):
172+
class StreamWriter(metaclass=abc.ABCMeta):
176173
"""
177174
This represents the interface that must be implemented by a stream writer.
178175
"""
@@ -239,7 +236,7 @@ def close(self):
239236
self._stream.flush()
240237

241238

242-
class NamedPipe(object):
239+
class NamedPipe:
243240
"""
244241
A named pipe.
245242
"""
@@ -271,7 +268,7 @@ class NamedPipeReader(FileDescriptorReader):
271268
Reader to read from a named pipe.
272269
"""
273270
def __init__(self, pipe, container_path=None):
274-
super(NamedPipeReader, self).__init__(None)
271+
super().__init__(None)
275272
self._pipe = pipe
276273
self._container_path = container_path
277274

@@ -294,7 +291,7 @@ class NamedPipeWriter(FileDescriptorWriter):
294291
Write to write to a named pipe.
295292
"""
296293
def __init__(self, pipe, container_path=None):
297-
super(NamedPipeWriter, self).__init__(None)
294+
super().__init__(None)
298295
self._pipe = pipe
299296
self._container_path = container_path
300297

girder_worker/docker/io/girder.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
import six
2-
31
from . import StreamReader
42

53

@@ -12,7 +10,7 @@ def __init__(self, client, file_id):
1210
:param client: The GirderClient instance to use.
1311
:type client: girder_client.GirderClient
1412
"""
15-
super(GirderFileStreamReader, self).__init__()
13+
super().__init__()
1614
self._client = client
1715
self._file_id = file_id
1816
self._iter = None
@@ -28,6 +26,6 @@ def read(self, buf_len):
2826
self._iter = self._client.downloadFileAsIterator(self._file_id, buf_len)
2927

3028
try:
31-
return six.next(self._iter)
29+
return next(self._iter)
3230
except StopIteration:
3331
return b''

girder_worker/docker/stream_adapter.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import json
33

44

5-
class StreamPushAdapter(object):
5+
class StreamPushAdapter:
66
"""
77
This represents the interface that must be implemented by push adapters for
88
IO modes that want to implement streaming output.
@@ -31,7 +31,7 @@ class JobProgressAdapter(StreamPushAdapter):
3131
"""
3232

3333
def __init__(self, job_manager):
34-
super(JobProgressAdapter, self).__init__()
34+
super().__init__()
3535

3636
self.job_manager = job_manager
3737
self._buf = b''

girder_worker/docker/tasks/__init__.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ def _maybe_path(arg):
288288

289289
class _RequestDefaultTemporaryVolume(_TemporaryVolumeBase):
290290
def __init__(self):
291-
super(_RequestDefaultTemporaryVolume, self).__init__(None, None)
291+
super().__init__(None, None)
292292
self._make_paths()
293293

294294
def transform(self, **kwargs):
@@ -298,11 +298,11 @@ def transform(self, **kwargs):
298298
class DockerTask(Task):
299299

300300
def _maybe_transform_argument(self, arg):
301-
return super(DockerTask, self)._maybe_transform_argument(
301+
return super()._maybe_transform_argument(
302302
arg, task=self, _default_temp_volume=self.request._default_temp_volume)
303303

304304
def _maybe_transform_result(self, idx, result):
305-
return super(DockerTask, self)._maybe_transform_result(
305+
return super()._maybe_transform_result(
306306
idx, result, _default_temp_volume=self.request._default_temp_volume)
307307

308308
def __call__(self, *args, **kwargs):
@@ -336,7 +336,7 @@ def _json(volume):
336336

337337
volumes.update(default_temp_volume._repr_json_())
338338

339-
super(DockerTask, self).__call__(*args, **kwargs)
339+
super().__call__(*args, **kwargs)
340340
threading.Thread(
341341
target=self._cleanup_temp_volumes,
342342
args=(temp_volumes, default_temp_volume),

0 commit comments

Comments
 (0)