From 1a5b166352736f83b3c0a90327ec819038f4654f Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 09:54:16 +0700 Subject: [PATCH 01/12] Test Travis --- .travis.yml | 32 +++++++++++++++++++++----------- docker_push.sh | 5 +++++ 2 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 docker_push.sh diff --git a/.travis.yml b/.travis.yml index 861fb6cbb9..9370aae657 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,19 @@ +sudo: required + language: go go_import_path: github.com/ethereum/go-ethereum -sudo: false -matrix: + +services: + - docker + +before_install: + - docker build -t enapoleone/tomochain . + - docker run enapoleone/tomochain + +jobs: include: - - os: linux + - stage: Build and test + os: linux dist: trusty sudo: required go: 1.9.x @@ -31,7 +41,8 @@ matrix: - brew cask install osxfuse - go run build/ci.go install - go run build/ci.go test -coverage - - os: linux + - stage: Lint + os: linux dist: trusty go: '1.10' env: @@ -40,10 +51,9 @@ matrix: submodules: false script: - go run build/ci.go lint - -notifications: - slack: - rooms: - secure: DoWVSWEKZre0rsYvHPqOBpYa5hL7DagVCP7eGR+2dluzsyUOTW58uiaezaZMAPPG6k7i1TC9CufONkFRwH6kqLrFtAFd+t3sKb3X4D9/PSa9k88uBuNfsX+JhUzEMT53pfLO9NTBbZs3M6bOuZDP7GddWWnMZpO6Mu7RzZtVxyqbZIcNu3nxsmLkoaQ8726npaHrxhO1Ab+3rgR4dkNFLgl9/CnPwvuv/j24dsKzly6tF+4Ms9Fz5O0Te8zK5d/UWZN50e+uDnbzcIvbY2VHOYXchXZRbfKO8/M2TIXLPKbLc3alCw1ZvpFZqiMYK3SnGNby4FLp8RlC6H4sv52YeNq3fHH8SgOJ3xTL8m6ejIlqoKnUNsJ1lwtfiEVu5D1b8FRKTPqoh+cjadJxsF9dO0xZsf1d5Pmq6Ncr0j6di1ZMjCc6TPFERxkdA48+PzQY4TqfBpM4E5RnJuX9O9MJFbA1fZo2xhHcy0LlkslZMpSwiv/YO4bCJZPmxvHtruqELJXxjYyC67UbzSzrBVE1g1bXy0V5xyxPIEA38jzlNczhq6fg2gyEc+6JCbzN2gFoAS5uFWQHpUhXHc7zNB5Jyi7GPQv6cfHYcedjn9In9/bNDqqGexGX4Ih/cb6W1GOHC7c2A/AsfTa9KWmsyj7YwBRXFIXfme7bBh6VGuRqU3Y= - on_success: change - on_failure: always + - stage: Push Docker image + deploy: + provider: script + script: bash docker_push + on: + branch: travis diff --git a/docker_push.sh b/docker_push.sh new file mode 100644 index 0000000000..6fda4bad46 --- /dev/null +++ b/docker_push.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin +docker push etiennenapoleone/tomochain:latest +docker push etiennenapoleone/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) From 82e114c5f751c1266db27a77bf693c845aa9e078 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 10:16:03 +0700 Subject: [PATCH 02/12] Update .travis.yml Don't build on docker image on each stages --- .travis.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9370aae657..fafb91df50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,7 @@ go_import_path: github.com/ethereum/go-ethereum services: - docker -before_install: - - docker build -t enapoleone/tomochain . - - docker run enapoleone/tomochain +before_install: true jobs: include: @@ -33,14 +31,6 @@ jobs: - sudo chown root:$USER /etc/fuse.conf - go run build/ci.go install - go run build/ci.go test -coverage - - os: osx - go: '1.10' - script: - - unset -f cd - - brew update - - brew cask install osxfuse - - go run build/ci.go install - - go run build/ci.go test -coverage - stage: Lint os: linux dist: trusty @@ -52,6 +42,9 @@ jobs: script: - go run build/ci.go lint - stage: Push Docker image + before_install: + - docker build -t enapoleone/tomochain . + - docker run enapoleone/tomochain deploy: provider: script script: bash docker_push From 5259e9cc9191ca851ff63583930ed29ec88a65a2 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 10:51:47 +0700 Subject: [PATCH 03/12] Update .travis.yml and cleanup --- .travis.yml | 21 ++++++++++++++++----- docker-compose.test.yml | 11 ----------- docker/docker_tests.sh | 3 --- docker_push.sh | 2 +- docker_rebuild.sh | 1 + 5 files changed, 18 insertions(+), 20 deletions(-) delete mode 100644 docker-compose.test.yml delete mode 100644 docker/docker_tests.sh create mode 100644 docker_rebuild.sh diff --git a/.travis.yml b/.travis.yml index fafb91df50..64d0f4126b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,7 @@ sudo: required language: go go_import_path: github.com/ethereum/go-ethereum -services: - - docker +services: true before_install: true @@ -31,6 +30,14 @@ jobs: - sudo chown root:$USER /etc/fuse.conf - go run build/ci.go install - go run build/ci.go test -coverage + - os: osx + go: '1.10' + script: + - unset -f cd + - brew update + - brew cask install osxfuse + - go run build/ci.go install + - go run build/ci.go test -coverage - stage: Lint os: linux dist: trusty @@ -42,11 +49,15 @@ jobs: script: - go run build/ci.go lint - stage: Push Docker image + services: + - docker before_install: - - docker build -t enapoleone/tomochain . - - docker run enapoleone/tomochain + - docker build -t etiennenapoleone/tomochain . + - docker run etiennenapoleone/tomochain deploy: provider: script - script: bash docker_push + script: bash docker_push.sh on: branch: travis + - stage: Trigger rebuild of infrastructure image + script: bash docker_rebuild.sh diff --git a/docker-compose.test.yml b/docker-compose.test.yml deleted file mode 100644 index 987c266fd0..0000000000 --- a/docker-compose.test.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: "3.4" - -services: - - sut: - build: . - volumes: - - "./docker/docker_tests.sh:/test/docker_tests.sh" - entrypoint: - - /bin/sh - - /test/docker_tests.sh diff --git a/docker/docker_tests.sh b/docker/docker_tests.sh deleted file mode 100644 index 8f88919e2d..0000000000 --- a/docker/docker_tests.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$(tomo --help | grep -q tomo) diff --git a/docker_push.sh b/docker_push.sh index 6fda4bad46..06a33742d6 100644 --- a/docker_push.sh +++ b/docker_push.sh @@ -1,5 +1,5 @@ #!/bin/bash -echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin +echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin docker push etiennenapoleone/tomochain:latest docker push etiennenapoleone/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) diff --git a/docker_rebuild.sh b/docker_rebuild.sh new file mode 100644 index 0000000000..a068c88f98 --- /dev/null +++ b/docker_rebuild.sh @@ -0,0 +1 @@ +curl -X POST $INFRA_IMAGE From f3c626e2e4eb023649d27371b9560fade4d8fa31 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 11:29:03 +0700 Subject: [PATCH 04/12] Update .travis.yml and docker_push.sh Tag images before pushing --- .travis.yml | 4 ++-- docker_push.sh | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 64d0f4126b..83d2410d47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,9 +3,9 @@ sudo: required language: go go_import_path: github.com/ethereum/go-ethereum -services: true +services: skip -before_install: true +before_install: skip jobs: include: diff --git a/docker_push.sh b/docker_push.sh index 06a33742d6..7793137c60 100644 --- a/docker_push.sh +++ b/docker_push.sh @@ -1,5 +1,7 @@ #!/bin/bash echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin +docker tag etiennenapoleone/tomochain etiennenapoleone/tomochain:latest +docker tag etiennenapoleone/tomochain etiennenapoleone/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) docker push etiennenapoleone/tomochain:latest docker push etiennenapoleone/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) From 915301198e6541982a5975472e2965a0f64bf61e Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 11:52:17 +0700 Subject: [PATCH 05/12] Update .travis.yml Updated build stage name --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 83d2410d47..0246a3d456 100644 --- a/.travis.yml +++ b/.travis.yml @@ -48,7 +48,7 @@ jobs: submodules: false script: - go run build/ci.go lint - - stage: Push Docker image + - stage: Build and push Docker image services: - docker before_install: From e7379653db08e3d581d8791b3b9a1efbff2efdf6 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 13:38:38 +0700 Subject: [PATCH 06/12] Update .travis.yml Updated to use the tomochain/tomochain image --- .travis.yml | 5 ++--- docker_push.sh | 8 ++++---- docker_rebuild.sh | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0246a3d456..19625a1cec 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ language: go go_import_path: github.com/ethereum/go-ethereum services: skip - before_install: skip jobs: @@ -52,8 +51,8 @@ jobs: services: - docker before_install: - - docker build -t etiennenapoleone/tomochain . - - docker run etiennenapoleone/tomochain + - docker build -t tomochain/tomochain . + - docker run tomochain/tomochain deploy: provider: script script: bash docker_push.sh diff --git a/docker_push.sh b/docker_push.sh index 7793137c60..158283eca1 100644 --- a/docker_push.sh +++ b/docker_push.sh @@ -1,7 +1,7 @@ #!/bin/bash echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin -docker tag etiennenapoleone/tomochain etiennenapoleone/tomochain:latest -docker tag etiennenapoleone/tomochain etiennenapoleone/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) -docker push etiennenapoleone/tomochain:latest -docker push etiennenapoleone/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) +docker tag tomochain/tomochain tomochain/tomochain:latest +docker tag tomochain/tomochain tomochain/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) +docker push tomochain/tomochain:latest +docker push tomochain/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) diff --git a/docker_rebuild.sh b/docker_rebuild.sh index a068c88f98..7b88f346a2 100644 --- a/docker_rebuild.sh +++ b/docker_rebuild.sh @@ -1 +1 @@ -curl -X POST $INFRA_IMAGE +curl -X POST $INFRA_IMAGE_REBUILD_HOOK From 6a067abe0035449693e969304e5561b86755ae37 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 13:45:08 +0700 Subject: [PATCH 07/12] Update .travis.yml Cleanup sudo --- .travis.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 19625a1cec..a46d628910 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,6 @@ sudo: required - language: go go_import_path: github.com/ethereum/go-ethereum - services: skip before_install: skip @@ -11,7 +9,6 @@ jobs: - stage: Build and test os: linux dist: trusty - sudo: required go: 1.9.x script: - sudo modprobe fuse @@ -21,7 +18,6 @@ jobs: - go run build/ci.go test -coverage - os: linux dist: trusty - sudo: required go: '1.10' script: - sudo modprobe fuse @@ -30,6 +26,7 @@ jobs: - go run build/ci.go install - go run build/ci.go test -coverage - os: osx + sudo: false go: '1.10' script: - unset -f cd @@ -39,6 +36,7 @@ jobs: - go run build/ci.go test -coverage - stage: Lint os: linux + sudo: false dist: trusty go: '1.10' env: @@ -59,4 +57,5 @@ jobs: on: branch: travis - stage: Trigger rebuild of infrastructure image + sudo: false script: bash docker_rebuild.sh From 281320f4e91fcdbac074d5bffcbac0af4b8b5709 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 14:03:53 +0700 Subject: [PATCH 08/12] Update .travis.yml Only run deploy stage when it's a push (not on PR) --- .travis.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a46d628910..979e684306 100644 --- a/.travis.yml +++ b/.travis.yml @@ -55,7 +55,15 @@ jobs: provider: script script: bash docker_push.sh on: - branch: travis + branch: master - stage: Trigger rebuild of infrastructure image sudo: false script: bash docker_rebuild.sh + +stages: + - name: Build and test + - name: Lint + - name: Build and push Docker image + if: type != pull_request AND branch = master + - name: Trigger rebuild of infrastructure image + if: type != pull_request AND branch = master From bb412a53323ebbef8de6d593a48cc3e9722fa56f Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 14:10:31 +0700 Subject: [PATCH 09/12] Update .travis.yml Restore notifications --- .travis.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.travis.yml b/.travis.yml index 979e684306..110c59fead 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,3 +67,10 @@ stages: if: type != pull_request AND branch = master - name: Trigger rebuild of infrastructure image if: type != pull_request AND branch = master + +notifications: + slack: + rooms: + secure: DoWVSWEKZre0rsYvHPqOBpYa5hL7DagVCP7eGR+2dluzsyUOTW58uiaezaZMAPPG6k7i1TC9CufONkFRwH6kqLrFtAFd+t3sKb3X4D9/PSa9k88uBuNfsX+JhUzEMT53pfLO9NTBbZs3M6bOuZDP7GddWWnMZpO6Mu7RzZtVxyqbZIcNu3nxsmLkoaQ8726npaHrxhO1Ab+3rgR4dkNFLgl9/CnPwvuv/j24dsKzly6tF+4Ms9Fz5O0Te8zK5d/UWZN50e+uDnbzcIvbY2VHOYXchXZRbfKO8/M2TIXLPKbLc3alCw1ZvpFZqiMYK3SnGNby4FLp8RlC6H4sv52YeNq3fHH8SgOJ3xTL8m6ejIlqoKnUNsJ1lwtfiEVu5D1b8FRKTPqoh+cjadJxsF9dO0xZsf1d5Pmq6Ncr0j6di1ZMjCc6TPFERxkdA48+PzQY4TqfBpM4E5RnJuX9O9MJFbA1fZo2xhHcy0LlkslZMpSwiv/YO4bCJZPmxvHtruqELJXxjYyC67UbzSzrBVE1g1bXy0V5xyxPIEA38jzlNczhq6fg2gyEc+6JCbzN2gFoAS5uFWQHpUhXHc7zNB5Jyi7GPQv6cfHYcedjn9In9/bNDqqGexGX4Ih/cb6W1GOHC7c2A/AsfTa9KWmsyj7YwBRXFIXfme7bBh6VGuRqU3Y= + on_success: change + on_failure: always From f839899618e93f03ffddc22d9ba62209bdba989b Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 15:54:29 +0700 Subject: [PATCH 10/12] Update .travis.yml Change from tagging commit hash to travis build ID --- docker_push.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker_push.sh b/docker_push.sh index 158283eca1..6008259b92 100644 --- a/docker_push.sh +++ b/docker_push.sh @@ -2,6 +2,6 @@ echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin docker tag tomochain/tomochain tomochain/tomochain:latest -docker tag tomochain/tomochain tomochain/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) +docker tag tomochain/tomochain tomochain/tomochain:$TRAVIS_BUILD_ID docker push tomochain/tomochain:latest -docker push tomochain/tomochain:$(git log --pretty=format:'%h' -n 1 | cat) +docker push tomochain/tomochain:$TRAVIS_BUILD_ID From 41ec32afdde970c2c912f0e25c879f19a452479b Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 15:55:51 +0700 Subject: [PATCH 11/12] Update .travis.yml macOS not needed --- .travis.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 110c59fead..fb23d90b5b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,15 +25,6 @@ jobs: - sudo chown root:$USER /etc/fuse.conf - go run build/ci.go install - go run build/ci.go test -coverage - - os: osx - sudo: false - go: '1.10' - script: - - unset -f cd - - brew update - - brew cask install osxfuse - - go run build/ci.go install - - go run build/ci.go test -coverage - stage: Lint os: linux sudo: false From bd601263e985d155192dba0921fe4bcb80efb3b5 Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Mon, 25 Jun 2018 15:58:22 +0700 Subject: [PATCH 12/12] Update .travis.yml Removed useless env var --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index fb23d90b5b..07d66b9fa1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,8 +30,6 @@ jobs: sudo: false dist: trusty go: '1.10' - env: - - lint git: submodules: false script: