浏览代码

Merge pull request #7028 from docker/bump-1.25.0

Bump 1.25.0
Ulysses Souza 6 年之前
父节点
当前提交
4038169d96
共有 9 个文件被更改,包括 49 次插入15 次删除
  1. 24 3
      CHANGELOG.md
  2. 1 1
      README.md
  3. 1 1
      compose/__init__.py
  4. 2 2
      compose/cli/colors.py
  5. 4 1
      compose/cli/log_printer.py
  6. 9 4
      compose/cli/main.py
  7. 3 0
      compose/service.py
  8. 4 2
      script/release/release.py
  9. 1 1
      script/run/run.sh

+ 24 - 3
CHANGELOG.md

@@ -1,12 +1,18 @@
 Change log
 Change log
 ==========
 ==========
 
 
-1.25.0-rc4 (2019-10-28)
+1.25.0 (2019-11-18)
 -------------------
 -------------------
 
 
 ### Features
 ### Features
 
 
-- Add BuildKit support, use `DOCKER_BUILDKIT=1` and `COMPOSE_NATIVE_BUILDER=1`
+- Set no-colors to true if CLICOLOR env variable is set to 0
+
+- Add working dir, config files and env file in service labels
+
+- Add dependencies for ARM build
+
+- Add BuildKit support, use `DOCKER_BUILDKIT=1` and `COMPOSE_DOCKER_CLI_BUILD=1`
 
 
 - Bump paramiko to 2.6.0
 - Bump paramiko to 2.6.0
 
 
@@ -54,6 +60,14 @@ Change log
 
 
 ### Bugfixes
 ### Bugfixes
 
 
+- Make container service color deterministic, remove red from chosen colors
+
+- Fix non ascii chars error. Python2 only
+
+- Format image size as decimal to be align with Docker CLI
+
+- Use Python Posix support to get tty size
+
 - Fix same file 'extends' optimization
 - Fix same file 'extends' optimization
 
 
 - Use python POSIX support to get tty size
 - Use python POSIX support to get tty size
@@ -76,7 +90,7 @@ Change log
 
 
 - Fixed race condition after pulling image
 - Fixed race condition after pulling image
 
 
-- Fixed error on duplicate mount points.
+- Fixed error on duplicate mount points
 
 
 - Fixed merge on networks section
 - Fixed merge on networks section
 
 
@@ -84,6 +98,13 @@ Change log
 
 
 - Fixed the presentation of failed services on 'docker-compose start' when containers are not available
 - Fixed the presentation of failed services on 'docker-compose start' when containers are not available
 
 
+1.24.1 (2019-06-24)
+-------------------
+
+### Bugfixes
+
+- Fixed acceptance tests
+
 1.24.0 (2019-03-28)
 1.24.0 (2019-03-28)
 -------------------
 -------------------
 
 

+ 1 - 1
README.md

@@ -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
 Compose is great for development, testing, and staging environments, as well as
 CI workflows. You can learn more about each case in
 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.
 Using Compose is basically a three-step process.
 
 

+ 1 - 1
compose/__init__.py

@@ -1,4 +1,4 @@
 from __future__ import absolute_import
 from __future__ import absolute_import
 from __future__ import unicode_literals
 from __future__ import unicode_literals
 
 
-__version__ = '1.25.0-rc4'
+__version__ = '1.25.0'

+ 2 - 2
compose/cli/colors.py

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

+ 4 - 1
compose/cli/log_printer.py

@@ -134,7 +134,10 @@ def build_thread(container, presenter, queue, log_args):
 def build_thread_map(initial_containers, presenters, thread_args):
 def build_thread_map(initial_containers, presenters, thread_args):
     return {
     return {
         container.id: build_thread(container, next(presenters), *thread_args)
         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)
     }
     }
 
 
 
 

+ 9 - 4
compose/cli/main.py

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

+ 3 - 0
compose/service.py

@@ -1806,6 +1806,9 @@ class _CLIBuilder(object):
                 line = p.stdout.readline()
                 line = p.stdout.readline()
                 if not line:
                 if not line:
                     break
                     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):
                 if line.startswith(magic_word):
                     appear = True
                     appear = True
                 yield json.dumps({"stream": line})
                 yield json.dumps({"stream": line})

+ 4 - 2
script/release/release.py

@@ -204,7 +204,8 @@ def resume(args):
             gh_release = create_release_draft(repository, args.release, pr_data, files)
             gh_release = create_release_draft(repository, args.release, pr_data, files)
         delete_assets(gh_release)
         delete_assets(gh_release)
         upload_assets(gh_release, files)
         upload_assets(gh_release, files)
-        img_manager = ImageManager(args.release)
+        tag_as_latest = is_tag_latest(args.release)
+        img_manager = ImageManager(args.release, tag_as_latest)
         img_manager.build_images(repository)
         img_manager.build_images(repository)
     except ScriptError as e:
     except ScriptError as e:
         print(e)
         print(e)
@@ -244,7 +245,8 @@ def start(args):
         files = downloader.download_all(args.release)
         files = downloader.download_all(args.release)
         gh_release = create_release_draft(repository, args.release, pr_data, files)
         gh_release = create_release_draft(repository, args.release, pr_data, files)
         upload_assets(gh_release, files)
         upload_assets(gh_release, files)
-        img_manager = ImageManager(args.release)
+        tag_as_latest = is_tag_latest(args.release)
+        img_manager = ImageManager(args.release, tag_as_latest)
         img_manager.build_images(repository)
         img_manager.build_images(repository)
     except ScriptError as e:
     except ScriptError as e:
         print(e)
         print(e)

+ 1 - 1
script/run/run.sh

@@ -15,7 +15,7 @@
 
 
 set -e
 set -e
 
 
-VERSION="1.25.0-rc4"
+VERSION="1.25.0"
 IMAGE="docker/compose:$VERSION"
 IMAGE="docker/compose:$VERSION"