Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

R4R: Tagged docker images #3694

Merged
merged 4 commits into from
Feb 25, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 22 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -331,9 +331,18 @@ jobs:
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push tendermint/gaia:$GAIAD_VERSION

# Push the tag also for the version, so clients can build up on top of it
GAIAD_VERSION=`/tmp/workspace/bin/gaiad version`
docker push tendermint/gaia:$GAIAD_VERSION
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the hashed version, in favour of the git tag version that will run only when a new tag will be added

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not using git describe's output?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seemed to me more readable to use $CIRCLE_TAG instead of getting the tag from a command.
In here the specific reason to change the behaviour was also to trigger the new job only when the tag is pushed.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seemed to me more readable to use $CIRCLE_TAG instead of getting the tag from a command.

The risk is that versions may diverge. Did you check that gaiad version kinda looks like the image's actual version?

docker_tagged:
<<: *linux_defaults
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- setup_remote_docker:
docker_layer_caching: true
- run: |
docker build -t tendermint/gaia:$CIRCLE_TAG .
docker login -u $DOCKER_USER -p $DOCKER_PASS
docker push tendermint/gaia:$CIRCLE_TAG

workflows:
version: 2
Expand All @@ -347,6 +356,16 @@ workflows:
- develop
requires:
- setup_dependencies
- docker_tagged:
filters:
tags:
only:
- /^v.*/
branches:
ignore:
- /.*/
requires:
- setup_dependencies
- macos_ci:
filters:
branches:
Expand Down
1 change: 1 addition & 0 deletions PENDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ CLI flag.
* \#3691 Cleanup error messages
* \#3456 Integrate in the Int.ToDec() convenience function
* [\#3300] Update the spec-spec, spec file reorg, and TOC updates.
* [\#3694] Push tagged docker images on docker hub when tag is created.

### Tendermint

Expand Down
10 changes: 10 additions & 0 deletions docs/gaia/deploy-testnet.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@ Supporting code can be found in the [networks directory](https://github.com/cosm

> NOTE: The `remote` network bootstrapping may be out of sync with the latest releases and is not to be relied upon.
## Available Docker images

In case you need to use or deploy gaia as a container you could skip the `build` steps and use the official images, $TAG stands for the version you are interested in:
- `docker run -it -v ~/.gaiad:/root/.gaiad -v ~/.gaiacli:/root/.gaiacli tendermint:$TAG gaiad init`
- `docker run -it -p 26657:26657 -p 26656:26656 -v ~/.gaiad:/root/.gaiad -v ~/.gaiacli:/root/.gaiacli tendermint:$TAG gaiad start`
- ...
- `docker run -it -v ~/.gaiad:/root/.gaiad -v ~/.gaiacli:/root/.gaiacli tendermint:$TAG gaiacli version`

The same images can be used to build your own docker-compose stack.

## Single-node, local, manual testnet

This guide helps you create a single validator node that runs a network locally for testing and other development related uses.
Expand Down