0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【解決済み】今更ながら rails + wercker + codecov をやってみたが上手くいかない

Last updated at Posted at 2020-07-06

解決しました

少し間が空いたので改めて色々と試してみた結果、プログラム側の問題でした(2021/2/13)。

# 某所のサーバが古く、標準 cipher だと接続できない
OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ciphers] = "DES-CBC3-SHA"

このコードが悪さをして codecov への接続に支障が出ていたため、これを以下のように修正し、結果が反映されるようになりました。

OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ciphers] = "ALL"

※ ALL は宜しくないですが、イントラネットで動かしているシステムなので許容することとしました。

また以下のコードは codecov の gem を使う場合は不要でした。

wercker.yml抜粋
       - script:
           name: post coverage to codecov
           code: |
               bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN

はじめに

rails + wercker は数年やっていたのですが codecov を知らなかったので連携してみた(けど上手くいかない)、というだけの記事です。

環境

  • Rails 5.2.4 系
  • SimpleCov 0.18.5
  • SimpleCov-Html 0.12.2
  • CodeCov 0.1.17

注: Rails 以外の gem のバージョンは 2020/7 現在の最新だと思います。

設定

変更したファイルは 2つだけ。

  • Gemfile
  • test/test_helper.rb
Gemfile抜粋
# テスト環境 限定
group :test do
  gem 'codecov', :require => false
(以下省略)
end
test/test_helper.rb抜粋
require 'simplecov'
SimpleCov.start 'rails'

if ENV['WERCKER'] == 'true'
  require 'codecov'
  SimpleCov.formatter = SimpleCov::Formatter::Codecov
end

あ、設定ファイルも対象か。

codecov.yml
# cf. https://qiita.com/kent-hamaguchi/items/d4d3696a34350fd97991
codecov:
  notify:
    require_ci_to_pass: yes

coverage:
  status:
    project:
      default:
        target: 95%
        threshold: 1%

ポイントだと思ったところ

適当にググって始めたのが良くなかったのですが、最初は wercker.yml に以下のような記述だけ入れていました。

wercker.yml抜粋
       - script:
           name: post coverage to codecov
           code: |
               bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN

が、上手く行かないのでドキュメントを見ていたら Supported Languages から Codecov Ruby Example へたどり着けました。

...が、上手くいかない

これで手元では動くのですが wercker で実際に回してみると SSL_CTX_set_cipher_list: no cipher match のエラーで止まってしまいます。何故?


  _____          _
 / ____|        | |
| |     ___   __| | ___  ___ _____   __
| |    / _ \ / _\` |/ _ \/ __/ _ \ \ / /
| |___| (_) | (_| |  __/ (_| (_) \ V /
 \_____\___/ \__,_|\___|\___\___/ \_/
                               Ruby-0.1.17
==> Wercker CI detected
x> No CI provider detected.
/upload/v1?token=secret&flags&service=wercker&branch=fix_1061&build=1594041715&slug=bsdmad%2Fmiyabi&commit=c3030c15474859c1fa0046e113fe979d10851864
    -> Pinging Codecov
Error uploading coverage reports to Codecov. Sorry
SSL_CTX_set_cipher_list: no cipher match

使っている docker image が Docker Official image(ruby 2.6.6) なので、そっちの問題かな…

参考にした記事

上手くいってないのに参考にしたと書くと語弊がありそうですが、上手く行かないのはあくまで私の問題です。ご了承下さい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?