mirror of
https://github.com/prymitive/karma
synced 2026-05-07 03:26:52 +00:00
Merge pull request #440 from prymitive/travis_retry
feat(ci): wrap fragile commands with travis_retry
This commit is contained in:
28
.travis.yml
28
.travis.yml
@@ -25,7 +25,7 @@ jobs:
|
||||
- make mock-assets
|
||||
script: make test-go
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash) -F backend
|
||||
- travis_retry bash <(curl -s https://codecov.io/bash) -F backend
|
||||
|
||||
- stage: Test
|
||||
<<: *DEFAULTS_JS
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
- NODE_ENV=test
|
||||
script: make test-js
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash) -F ui -s ui
|
||||
- travis_retry bash <(curl -s https://codecov.io/bash) -F ui -s ui
|
||||
|
||||
# duplicate js test but with a different time zone, to ensure that tests/code work with non-UTC time zone
|
||||
- stage: Test
|
||||
@@ -45,7 +45,7 @@ jobs:
|
||||
- TZ=Pacific/Easter
|
||||
script: make test-js
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash) -F ui -s ui
|
||||
- travis_retry bash <(curl -s https://codecov.io/bash) -F ui -s ui
|
||||
|
||||
- stage: Lint
|
||||
<<: *DEFAULTS_JS
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
before_script:
|
||||
- make mock-assets
|
||||
# https://github.com/golang/go/issues/26794
|
||||
- go mod download
|
||||
- travis_retry go mod download
|
||||
script: make lint-go
|
||||
|
||||
- stage: Lint
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
- GO111MODULE=on
|
||||
script:
|
||||
- make mock-assets
|
||||
- go get -d -v
|
||||
- travis_retry go get -d -v
|
||||
- git diff --exit-code
|
||||
|
||||
- stage: Build Docker image
|
||||
@@ -103,14 +103,14 @@ jobs:
|
||||
before_script:
|
||||
# this stage needs to build everything including assets file and that
|
||||
# requires running webpack, so we need nodejs here
|
||||
- nvm install $(< .nvmrc)
|
||||
- travis_retry nvm install $(< .nvmrc)
|
||||
script:
|
||||
# https://github.com/golang/go/issues/26794
|
||||
- go mod download
|
||||
- travis_retry go mod download
|
||||
# compile assets via webpack and build those into bindata_assetfs.go file
|
||||
- make bindata_assetfs.go
|
||||
# and now compile using bakelite for all target archs
|
||||
- go install github.com/terinjokes/bakelite
|
||||
- travis_retry go install github.com/terinjokes/bakelite
|
||||
- export SOURCE_DATE_EPOCH=$(git show -s --format=%ci ${TRAVIS_TAG:-${TRAVIS_COMMIT}}^{commit})
|
||||
- bakelite -platforms="-plan9" -ldflags="-X main.version=\"$(make show-version)\"" github.com/prymitive/karma
|
||||
- for i in karma-*; do tar --mtime="${SOURCE_DATE_EPOCH}" --owner=0 --group=0 --numeric-owner -c $i | gzip -n - > $i.tar.gz; done
|
||||
@@ -147,11 +147,11 @@ jobs:
|
||||
- export DOCKER_IMAGE=karma
|
||||
- export IMAGE_NAME="${DOCKER_USERNAME}/${DOCKER_IMAGE}"
|
||||
- make docker-image
|
||||
- docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}"
|
||||
- travis_retry docker login -u "${DOCKER_USERNAME}" -p "${DOCKER_PASSWORD}"
|
||||
- docker tag "${LOCAL_IMAGE}" "${IMAGE_NAME}:latest"
|
||||
# tag with the version only if we have a git tag (new release was pushed)
|
||||
- if [ -n "$TRAVIS_TAG" ]; then docker tag "${LOCAL_IMAGE}" "${IMAGE_NAME}:${VERSION}" ; fi
|
||||
- docker push "${IMAGE_NAME}"
|
||||
- travis_retry docker push "${IMAGE_NAME}"
|
||||
|
||||
- stage: Deploy demo app to Heroku
|
||||
# deploy on every job that isn't a PR, this way we:
|
||||
@@ -174,8 +174,8 @@ jobs:
|
||||
- echo " password $HEROKU_TOKEN" >> $HOME/.netrc
|
||||
script:
|
||||
- docker build --build-arg VERSION=$(make show-version) -t registry.heroku.com/karma-demo/web -f demo/Dockerfile .
|
||||
- docker login -u _ -p "$HEROKU_TOKEN" registry.heroku.com
|
||||
- docker push registry.heroku.com/karma-demo/web
|
||||
- travis_retry docker login -u _ -p "$HEROKU_TOKEN" registry.heroku.com
|
||||
- travis_retry docker push registry.heroku.com/karma-demo/web
|
||||
# bundled heroku cli doesn't know anything about containers, update it
|
||||
- curl https://cli-assets.heroku.com/install.sh | sh
|
||||
- /usr/local/bin/heroku container:release web --app karma-demo
|
||||
- travis_retry curl https://cli-assets.heroku.com/install.sh | sh
|
||||
- travis_retry /usr/local/bin/heroku container:release web --app karma-demo
|
||||
|
||||
Reference in New Issue
Block a user