mirror of
https://github.com/docker/compose.git
synced 2025-07-23 13:45:00 +02:00
commit
5985d046e3
@ -50,6 +50,11 @@ Change log
|
|||||||
- Fixed an issue that prevented proper parsing of UTF-8 BOM encoded
|
- Fixed an issue that prevented proper parsing of UTF-8 BOM encoded
|
||||||
Compose files on Windows
|
Compose files on Windows
|
||||||
|
|
||||||
|
- Fixed an issue with handling of the double-wildcard (`**`) pattern in `.dockerignore` files when using `docker-compose build`
|
||||||
|
|
||||||
|
- Fixed a bug that caused auth values in legacy `.dockercfg` files to be ignored
|
||||||
|
- `docker-compose build` will no longer attempt to create image names starting with an invalid character
|
||||||
|
|
||||||
1.21.2 (2018-05-03)
|
1.21.2 (2018-05-03)
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
|
@ -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.22.0-rc1'
|
__version__ = '1.22.0-rc2'
|
||||||
|
@ -363,7 +363,9 @@ class Service(object):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def image_name(self):
|
def image_name(self):
|
||||||
return self.options.get('image', '{s.project}_{s.name}'.format(s=self))
|
return self.options.get('image', '{project}_{s.name}'.format(
|
||||||
|
s=self, project=self.project.lstrip('_-')
|
||||||
|
))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def platform(self):
|
def platform(self):
|
||||||
|
@ -2,7 +2,7 @@ backports.ssl-match-hostname==3.5.0.1; python_version < '3'
|
|||||||
cached-property==1.3.0
|
cached-property==1.3.0
|
||||||
certifi==2017.4.17
|
certifi==2017.4.17
|
||||||
chardet==3.0.4
|
chardet==3.0.4
|
||||||
docker==3.4.0
|
docker==3.4.1
|
||||||
docker-pycreds==0.3.0
|
docker-pycreds==0.3.0
|
||||||
dockerpty==0.4.1
|
dockerpty==0.4.1
|
||||||
docopt==0.6.2
|
docopt==0.6.2
|
||||||
|
@ -58,11 +58,8 @@ def create_bump_commit(repository, release_branch, bintray_user, bintray_org):
|
|||||||
repository.push_branch_to_remote(release_branch)
|
repository.push_branch_to_remote(release_branch)
|
||||||
|
|
||||||
bintray_api = BintrayAPI(os.environ['BINTRAY_TOKEN'], bintray_user)
|
bintray_api = BintrayAPI(os.environ['BINTRAY_TOKEN'], bintray_user)
|
||||||
if not bintray_api.repository_exists(bintray_org, release_branch.name):
|
print('Creating data repository {} on bintray'.format(release_branch.name))
|
||||||
print('Creating data repository {} on bintray'.format(release_branch.name))
|
bintray_api.create_repository(bintray_org, release_branch.name, 'generic')
|
||||||
bintray_api.create_repository(bintray_org, release_branch.name, 'generic')
|
|
||||||
else:
|
|
||||||
print('Bintray repository {} already exists. Skipping'.format(release_branch.name))
|
|
||||||
|
|
||||||
|
|
||||||
def monitor_pr_status(pr_data):
|
def monitor_pr_status(pr_data):
|
||||||
|
@ -17,6 +17,7 @@ fi
|
|||||||
|
|
||||||
docker run -e GITHUB_TOKEN=$GITHUB_TOKEN -e BINTRAY_TOKEN=$BINTRAY_TOKEN -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK -it \
|
docker run -e GITHUB_TOKEN=$GITHUB_TOKEN -e BINTRAY_TOKEN=$BINTRAY_TOKEN -e SSH_AUTH_SOCK=$SSH_AUTH_SOCK -it \
|
||||||
--mount type=bind,source=$(pwd),target=/src \
|
--mount type=bind,source=$(pwd),target=/src \
|
||||||
|
--mount type=bind,source=$(pwd)/.git,target=/src/.git \
|
||||||
--mount type=bind,source=$HOME/.docker,target=/root/.docker \
|
--mount type=bind,source=$HOME/.docker,target=/root/.docker \
|
||||||
--mount type=bind,source=$HOME/.gitconfig,target=/root/.gitconfig \
|
--mount type=bind,source=$HOME/.gitconfig,target=/root/.gitconfig \
|
||||||
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
|
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
|
||||||
|
@ -25,19 +25,7 @@ class BintrayAPI(requests.Session):
|
|||||||
'desc': 'Automated release for {}: {}'.format(NAME, repo_name),
|
'desc': 'Automated release for {}: {}'.format(NAME, repo_name),
|
||||||
'labels': ['docker-compose', 'docker', 'release-bot'],
|
'labels': ['docker-compose', 'docker', 'release-bot'],
|
||||||
}
|
}
|
||||||
result = self.post_json(url, data)
|
return self.post_json(url, data)
|
||||||
result.raise_for_status()
|
|
||||||
return result
|
|
||||||
|
|
||||||
def repository_exists(self, subject, repo_name):
|
|
||||||
url = '{base}/repos/{subject}/{repo_name}'.format(
|
|
||||||
base=self.base_url, subject=subject, repo_name=repo_name,
|
|
||||||
)
|
|
||||||
result = self.get(url)
|
|
||||||
if result.status_code == 404:
|
|
||||||
return False
|
|
||||||
result.raise_for_status()
|
|
||||||
return True
|
|
||||||
|
|
||||||
def delete_repository(self, subject, repo_name):
|
def delete_repository(self, subject, repo_name):
|
||||||
url = '{base}/repos/{subject}/{repo_name}'.format(
|
url = '{base}/repos/{subject}/{repo_name}'.format(
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
VERSION="1.22.0-rc1"
|
VERSION="1.22.0-rc2"
|
||||||
IMAGE="docker/compose:$VERSION"
|
IMAGE="docker/compose:$VERSION"
|
||||||
|
|
||||||
|
|
||||||
|
2
setup.py
2
setup.py
@ -36,7 +36,7 @@ install_requires = [
|
|||||||
'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 2.19',
|
'requests >= 2.6.1, != 2.11.0, != 2.12.2, != 2.18.0, < 2.19',
|
||||||
'texttable >= 0.9.0, < 0.10',
|
'texttable >= 0.9.0, < 0.10',
|
||||||
'websocket-client >= 0.32.0, < 1.0',
|
'websocket-client >= 0.32.0, < 1.0',
|
||||||
'docker >= 3.4.0, < 4.0',
|
'docker >= 3.4.1, < 4.0',
|
||||||
'dockerpty >= 0.4.1, < 0.5',
|
'dockerpty >= 0.4.1, < 0.5',
|
||||||
'six >= 1.3.0, < 2',
|
'six >= 1.3.0, < 2',
|
||||||
'jsonschema >= 2.5.1, < 3',
|
'jsonschema >= 2.5.1, < 3',
|
||||||
|
@ -1137,6 +1137,21 @@ class ServiceTest(DockerClientTestCase):
|
|||||||
service.build()
|
service.build()
|
||||||
assert service.image()
|
assert service.image()
|
||||||
|
|
||||||
|
def test_build_with_illegal_leading_chars(self):
|
||||||
|
base_dir = tempfile.mkdtemp()
|
||||||
|
self.addCleanup(shutil.rmtree, base_dir)
|
||||||
|
with open(os.path.join(base_dir, 'Dockerfile'), 'w') as f:
|
||||||
|
f.write('FROM busybox\nRUN echo "Embodiment of Scarlet Devil"\n')
|
||||||
|
service = Service(
|
||||||
|
'build_leading_slug', client=self.client,
|
||||||
|
project='___-composetest', build={
|
||||||
|
'context': text_type(base_dir)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
assert service.image_name == 'composetest_build_leading_slug'
|
||||||
|
service.build()
|
||||||
|
assert service.image()
|
||||||
|
|
||||||
def test_start_container_stays_unprivileged(self):
|
def test_start_container_stays_unprivileged(self):
|
||||||
service = self.create_service('web')
|
service = self.create_service('web')
|
||||||
container = create_and_start_container(service).inspect()
|
container = create_and_start_container(service).inspect()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user