Merge pull request #7028 from docker/bump-1.25.0

Bump 1.25.0
This commit is contained in:
Ulysses Souza 2019-11-18 22:56:24 +01:00 committed by GitHub
commit 4038169d96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 49 additions and 15 deletions

View File

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

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 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.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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