Compare commits

...

10 Commits

Author SHA1 Message Date
Nicolas De Loof
9ad10575d1 Prepare drop of python 2.x support
see https://github.com/docker/compose/issues/6890

Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2019-11-20 16:00:53 +01:00
Ulysses Souza
2887d82d16 Merge pull request #6982 from smamessier/fix_non_ascii_error
Fixed non-ascii error when using COMPOSE_DOCKER_CLI_BUILD=1 for Buildkit
2019-11-18 16:45:04 +01:00
Ulysses Souza
2919bebea4 Fix non ascii chars error. Python2 only
Signed-off-by: Ulysses Souza <ulysses.souza@docker.com>
2019-11-18 15:43:50 +01:00
Djordje Lukic
5478c966f1 Merge pull request #7008 from zelahi/fix-readme-link
Fixed broken README link for common use cases
2019-11-07 09:59:49 +01:00
Zuhayr Elahi
e546533cfe Fixed broken README link for common use cases
Signed-off-by: Zuhayr Elahi <elahi.zuhayr@gmail.com>
2019-11-06 17:10:48 -08:00
Jean-Christophe Sirot
abef11b2a6 Merge pull request #6996 from ajlai/fix-color-order-and-remove-red
Make container service color deterministic, remove red from chosen colors
2019-11-06 16:11:57 +01:00
Anthony Lai
802fa20228 Make container service color deterministic, remove red from chosen colors
Signed-off-by: Anthony Lai <anthonyjlai@gmail.com>
2019-11-03 23:44:31 +00:00
Djordje Lukic
fa34ee7362 Merge pull request #6973 from glours/set_no_color_if_clicolor_defined_to_0
Set no-colors to true if CLICOLOR env variable is set to 0
2019-10-31 16:45:10 +01:00
Sebastien Mamessier
a3a23bf949 Fixed error when using startswith on non-ascii string
Signed-off-by: Sebastien Mamessier <smamessier@uber.com>
2019-10-30 13:57:08 +01:00
Guillaume Lours
2e7493a889 Set no-colors to true if CLICOLOR env variable is set to 0
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2019-10-21 11:37:46 +02:00
6 changed files with 22 additions and 14 deletions

9
Jenkinsfile vendored
View File

@@ -31,7 +31,7 @@ def get_versions = { String imageId, int number ->
def docker_versions
wrappedNode(label: "ubuntu && amd64 && !zfs") {
def result = sh(script: """docker run --rm \\
--entrypoint=/code/.tox/py27/bin/python \\
--entrypoint=/code/.tox/py37/bin/python \\
${imageId} \\
/code/script/test/versions.py -n ${number} docker/docker-ce recent
""", returnStdout: true
@@ -48,7 +48,7 @@ def runTests = { Map settings ->
def imageName = settings.get("image", null)
if (!pythonVersions) {
throw new Exception("Need Python versions to test. e.g.: `runTests(pythonVersions: 'py27,py37')`")
throw new Exception("Need Python versions to test. e.g.: `runTests(pythonVersions: 'py37')`")
}
if (!dockerVersions) {
throw new Exception("Need Docker versions to test. e.g.: `runTests(dockerVersions: 'all')`")
@@ -82,13 +82,10 @@ def runTests = { Map settings ->
def testMatrix = [failFast: true]
def baseImages = ['alpine', 'debian']
def pythonVersions = ['py27', 'py37']
baseImages.each { baseImage ->
def imageName = buildImage(baseImage)
get_versions(imageName, 2).each { dockerVersion ->
pythonVersions.each { pyVersion ->
testMatrix["${baseImage}_${dockerVersion}_${pyVersion}"] = runTests([baseImage: baseImage, image: imageName, dockerVersions: dockerVersion, pythonVersions: pyVersion])
}
testMatrix["${baseImage}_${dockerVersion}"] = runTests([baseImage: baseImage, image: imageName, dockerVersions: dockerVersion, pythonVersions: 'py37'])
}
}

View File

@@ -10,7 +10,7 @@ see [the list of features](https://github.com/docker/docker.github.io/blob/maste
Compose is great for development, testing, and staging environments, as well as
CI workflows. You can learn more about each case in
[Common Use Cases](https://github.com/docker/docker.github.io/blob/master/compose/overview.md#common-use-cases).
[Common Use Cases](https://github.com/docker/docker.github.io/blob/master/compose/index.md#common-use-cases).
Using Compose is basically a three-step process.

View File

@@ -41,9 +41,9 @@ for (name, code) in get_pairs():
def rainbow():
cs = ['cyan', 'yellow', 'green', 'magenta', 'red', 'blue',
cs = ['cyan', 'yellow', 'green', 'magenta', 'blue',
'intense_cyan', 'intense_yellow', 'intense_green',
'intense_magenta', 'intense_red', 'intense_blue']
'intense_magenta', 'intense_blue']
for c in cs:
yield globals()[c]

View File

@@ -134,7 +134,10 @@ def build_thread(container, presenter, queue, log_args):
def build_thread_map(initial_containers, presenters, thread_args):
return {
container.id: build_thread(container, next(presenters), *thread_args)
for container in initial_containers
# Container order is unspecified, so they are sorted by name in order to make
# container:presenter (log color) assignment deterministic when given a list of containers
# with the same names.
for container in sorted(initial_containers, key=lambda c: c.name)
}

View File

@@ -6,6 +6,7 @@ import contextlib
import functools
import json
import logging
import os
import pipes
import re
import subprocess
@@ -102,9 +103,9 @@ def dispatch():
options, handler, command_options = dispatcher.parse(sys.argv[1:])
setup_console_handler(console_handler,
options.get('--verbose'),
options.get('--no-ansi'),
set_no_color_if_clicolor(options.get('--no-ansi')),
options.get("--log-level"))
setup_parallel_logger(options.get('--no-ansi'))
setup_parallel_logger(set_no_color_if_clicolor(options.get('--no-ansi')))
if options.get('--no-ansi'):
command_options['--no-color'] = True
return functools.partial(perform_command, options, handler, command_options)
@@ -666,7 +667,7 @@ class TopLevelCommand(object):
log_printer_from_project(
self.project,
containers,
options['--no-color'],
set_no_color_if_clicolor(options['--no-color']),
log_args,
event_stream=self.project.events(service_names=options['SERVICE'])).run()
@@ -1124,7 +1125,7 @@ class TopLevelCommand(object):
log_printer = log_printer_from_project(
self.project,
attached_containers,
options['--no-color'],
set_no_color_if_clicolor(options['--no-color']),
{'follow': True},
cascade_stop,
event_stream=self.project.events(service_names=service_names))
@@ -1602,3 +1603,7 @@ def warn_for_swarm_mode(client):
"To deploy your application across the swarm, "
"use `docker stack deploy`.\n"
)
def set_no_color_if_clicolor(no_color_flag):
return no_color_flag or os.environ.get('CLICOLOR') == "0"

View File

@@ -1806,6 +1806,9 @@ class _CLIBuilder(object):
line = p.stdout.readline()
if not line:
break
# Fix non ascii chars on Python2. To remove when #6890 is complete.
if six.PY2:
magic_word = str(magic_word)
if line.startswith(magic_word):
appear = True
yield json.dumps({"stream": line})