mirror of
				https://github.com/docker/compose.git
				synced 2025-10-28 17:54:02 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # Create the official release
 | |
| #
 | |
| 
 | |
| . "$(dirname "${BASH_SOURCE[0]}")/utils.sh"
 | |
| 
 | |
| function usage() {
 | |
|     >&2 cat << EOM
 | |
| Publish a release by building all artifacts and pushing them.
 | |
| 
 | |
| This script requires that 'git config branch.${BRANCH}.release' is set to the
 | |
| release version for the release branch.
 | |
| 
 | |
| EOM
 | |
|     exit 1
 | |
| }
 | |
| 
 | |
| BRANCH="$(git rev-parse --abbrev-ref HEAD)"
 | |
| VERSION="$(git config "branch.${BRANCH}.release")" || usage
 | |
| 
 | |
| if [ -z "$(command -v jq 2> /dev/null)" ]; then
 | |
|     >&2 echo "$0 requires https://stedolan.github.io/jq/"
 | |
|     >&2 echo "Please install it and make sure it is available on your \$PATH."
 | |
|     exit 2
 | |
| fi
 | |
| 
 | |
| 
 | |
| if [ -z "$(command -v pandoc 2> /dev/null)" ]; then
 | |
|     >&2 echo "$0 requires http://pandoc.org/"
 | |
|     >&2 echo "Please install it and make sure it is available on your \$PATH."
 | |
|     exit 2
 | |
| fi
 | |
| 
 | |
| API=https://api.github.com/repos
 | |
| REPO=docker/compose
 | |
| GITHUB_REPO=git@github.com:$REPO
 | |
| 
 | |
| # Check the build status is green
 | |
| sha=$(git rev-parse HEAD)
 | |
| url=$API/$REPO/statuses/$sha
 | |
| build_status=$(curl -s $url | jq -r '.[0].state')
 | |
| if [ -n "$SKIP_BUILD_CHECK" ]; then
 | |
|     echo "Skipping build status check..."
 | |
| elif [[ "$build_status" != "success" ]]; then
 | |
|     >&2 echo "Build status is $build_status, but it should be success."
 | |
|     exit -1
 | |
| fi
 | |
| 
 | |
| echo "Tagging the release as $VERSION"
 | |
| git tag $VERSION
 | |
| git push $GITHUB_REPO $VERSION
 | |
| 
 | |
| echo "Uploading the docker image"
 | |
| docker push docker/compose:$VERSION
 | |
| 
 | |
| echo "Uploading the compose-tests image"
 | |
| docker push docker/compose-tests:latest
 | |
| docker push docker/compose-tests:$VERSION
 | |
| 
 | |
| echo "Uploading package to PyPI"
 | |
| pandoc -f markdown -t rst README.md -o README.rst
 | |
| sed -i -e 's/logo.png?raw=true/https:\/\/github.com\/docker\/compose\/raw\/master\/logo.png?raw=true/' README.rst
 | |
| ./script/build/write-git-sha
 | |
| python setup.py sdist bdist_wheel
 | |
| if [ "$(command -v twine 2> /dev/null)" ]; then
 | |
|     twine upload ./dist/docker-compose-${VERSION/-/}.tar.gz ./dist/docker_compose-${VERSION/-/}-py2.py3-none-any.whl
 | |
| else
 | |
|     python setup.py upload
 | |
| fi
 | |
| 
 | |
| echo "Testing pip package"
 | |
| deactivate || true
 | |
| virtualenv venv-test
 | |
| source venv-test/bin/activate
 | |
| pip install docker-compose==$VERSION
 | |
| docker-compose version
 | |
| deactivate
 | |
| rm -rf venv-test
 | |
| 
 | |
| echo "Now publish the github release, and test the downloads."
 | |
| echo "Email maintainers@dockerproject.org and engineering@docker.com about the new release."
 |