From b3d5cbdd53e5981ec7a51ab541a3998837963f37 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Sun, 28 Apr 2019 19:51:06 +0900 Subject: [PATCH] Switch from Travis to Drone CI --- .drone.yml | 37 ++++++++++++++++++++++++++++ .travis.yml | 57 ------------------------------------------- jobs/mal-sync/sync.go | 8 ++++-- 3 files changed, 43 insertions(+), 59 deletions(-) create mode 100644 .drone.yml delete mode 100644 .travis.yml diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 00000000..04f13d80 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,37 @@ +kind: pipeline +name: default + +steps: +- name: test + image: golang + environment: + GO111MODULE: on + commands: + - go version + - go get ./... + - make server bots jobs patches + - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(go env GOPATH)/bin v1.16.0 + - golangci-lint run + - git clone --depth=1 https://github.com/animenotifier/database ~/.aero/db/arn + - make tools + - go mod download + - go test -v -coverprofile=coverage.txt ./... + +- name: coverage + image: plugins/codecov + settings: + token: + from_secret: codecov-token + files: + - coverage.txt + +- name: discord + image: appleboy/drone-discord + when: + status: + - failure + settings: + webhook_id: + from_secret: discord-id + webhook_token: + from_secret: discord-token diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 63aaaca7..00000000 --- a/.travis.yml +++ /dev/null @@ -1,57 +0,0 @@ -language: go - -# Only the last two Go releases are supported by the Go team with security -# updates. Any versions older than that should be considered deprecated. -# Don't bother testing with them. tip builds your code with the latest -# development version of Go. This can warn you that your code will break -# in the next version of Go. Don't worry! Later we declare that test runs -# are allowed to fail on Go tip. -go: - - 1.12.x - - master - -# Setting this to true will skip the `go get` dependencies step. -install: true - -matrix: - allow_failures: - - go: master # It's ok if our code fails on unstable development versions of Go. - # Don't wait for tip tests to finish. Mark the test run green if the - # tests pass on the stable versions of Go. - fast_finish: true - -env: - global: - - GO111MODULE=on - - ARN_ROOT=$TRAVIS_BUILD_DIR - -# Anything in before_script that returns a nonzero exit code will -# flunk the build and immediately stop. It's sorta like having -# set -e enabled in bash. -before_script: - - go install github.com/mgechev/revive # Linter - - go install honnef.co/go/tools/cmd/staticcheck # Badass static analyzer/linter - - go install github.com/fzipp/gocyclo # Cyclomatic complexity -# - go install github.com/3rf/codecoroner # Dead code analysis - - go install github.com/dustin/go-humanize # Dependency used in pixy files only - - npm install -g typescript # TypeScript - - git clone --depth=1 https://github.com/animenotifier/database ~/.aero/db/arn # Database - - make tools # Install tools - - go mod download # Download dependencies (required for pack) - -# script always run to completion (set +e). All of these code checks are must haves -# in a modern Go project. -script: - - tsc # Compile scripts - - pack # Pack assets - - revive ./... # Linter - - go vet ./... # go vet is the official Go static analyzer -# - go test -v -race ./... # Run all the tests with the race detector enabled -# - codecoroner -ignore components funcs ./... # dead code analysis - - staticcheck -checks all,-ST1000,-ST1005 ./... # static analysis - - gocyclo -top 10 ./ # List huge functions - - make server bots jobs patches # Build - - go test -v . # Run all the tests - -after_success: - - bash <(curl -s https://codecov.io/bash) \ No newline at end of file diff --git a/jobs/mal-sync/sync.go b/jobs/mal-sync/sync.go index 5b6cd03c..93b079f5 100644 --- a/jobs/mal-sync/sync.go +++ b/jobs/mal-sync/sync.go @@ -71,7 +71,11 @@ func syncImage(anime *arn.Anime, malAnime *mal.Anime) { response, err := client.Get(malAnime.Image).End() if err == nil && response.StatusCode() == 200 { - anime.SetImageBytes(response.Bytes()) + err := anime.SetImageBytes(response.Bytes()) + + if err != nil { + color.Red("Error setting image: %s", err.Error()) + } } else { color.Red("Error downloading image") } @@ -124,7 +128,7 @@ func syncCharacters(anime *arn.Anime, malAnime *mal.Anime) { // Download image if missing if !character.HasImage() { fmt.Println("Downloading missing image for character:", character) - character.DownloadImage(malCharacter.ImageLink()) + err := character.DownloadImage(malCharacter.ImageLink()) // Cancel import if that character has no image if err != nil {