Bläddra i källkod

Merge pull request #7028 from docker/bump-1.25.0

Bump 1.25.0
Ulysses Souza 6 år sedan
förälder
incheckning
4038169d96
9 ändrade filer med 49 tillägg och 15 borttagningar
  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
 ==========
 
-1.25.0-rc4 (2019-10-28)
+1.25.0 (2019-11-18)
 -------------------
 
 ### 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
 
@@ -54,6 +60,14 @@ Change log
 
 ### 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
 
 - Use python POSIX support to get tty size
@@ -76,7 +90,7 @@ Change log
 
 - Fixed race condition after pulling image
 
-- Fixed error on duplicate mount points.
+- Fixed error on duplicate mount points
 
 - 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
 
+1.24.1 (2019-06-24)
+-------------------
+
+### Bugfixes
+
+- Fixed acceptance tests
+
 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
 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.
 

+ 1 - 1
compose/__init__.py

@@ -1,4 +1,4 @@
 from __future__ import absolute_import
 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():
-    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]

+ 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):
     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)
     }
 
 

+ 9 - 4
compose/cli/main.py

@@ -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"

+ 3 - 0
compose/service.py

@@ -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})

+ 4 - 2
script/release/release.py

@@ -204,7 +204,8 @@ def resume(args):
             gh_release = create_release_draft(repository, args.release, pr_data, files)
         delete_assets(gh_release)
         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)
     except ScriptError as e:
         print(e)
@@ -244,7 +245,8 @@ def start(args):
         files = downloader.download_all(args.release)
         gh_release = create_release_draft(repository, args.release, pr_data, 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)
     except ScriptError as e:
         print(e)

+ 1 - 1
script/run/run.sh

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