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

CIを有効にする #19

Closed
yumetodo opened this issue May 19, 2019 · 14 comments
Closed

CIを有効にする #19

yumetodo opened this issue May 19, 2019 · 14 comments
Labels
enhancement New feature or request

Comments

@yumetodo
Copy link
Contributor

せっかく #18 でcmakeに対応したので、まだ単体テストはないけど、CIでビルドができることを保証したい。

@AsPJT AsPJT added the enhancement New feature or request label May 19, 2019
@yumetodo
Copy link
Contributor Author

@Kasugaccho どのCIがお好みですかね?

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

@yumetodo
何でもよいですよ。
(CIについてあまり詳しくないので……)

TravisCI、CircleCIくらいしか存じていないです。

@yumetodo
Copy link
Contributor Author

yumetodo commented May 19, 2019

というよりはどのコンパイラで検証したいかですね。

ちなみに各OSのパッケージマネージャで落ちてくるデフォルトは

  • CentOS/RedHat
    • CentOS7
      • gcc 4.8.5
      • clang 3.4.2
  • Ubuntu
    • Ubuntu 18.04(bionic-updates)
      • gcc 7.4,0
      • clang 6.0
    • Ubuntu 16.04
      • gcc 5.3.1
      • clang 3.8
  • debian(stable)
    • gcc 6.3.0
    • clang 3.8
  • ArchLinux(core)
    • gcc 8.3.0
    • clang 8.0.0

です。gcc 4.8.5 とかclang 3.4とかって-std=c++1yとかしていた時代ですね。やばい。
CentOS/RedHat 5や6もまだ生きているので頭がいたいですね。

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

検証するとしたらClangが良いですね。特になるべく最新のもの。
そうすると、ArchLinux(core) か Ubuntu 18.04 ですかね。

@yumetodo
Copy link
Contributor Author

古いコンパイラは対応しない方針ということで良いでしょうか?ユーザーが常に最新のコンパイラを使ってくれるとは限りませんが。

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

古いコンパイラもサポートしたいです。
特に最低でもGCC4.8以上、Clang3.8以上で動作を保証したいです。

新しい環境だと古い環境をサポート出来ないことを忘れていました。

@yumetodo
Copy link
Contributor Author

GCC4.8ってC++14対応してないですが、C++11でコンパイル通るんでしたっけ?

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

当ライブラリはC++11も動作を保証しています。
(ちゃんと動きます)

ちなみにREADMEにきちんと書いてあります。

@yumetodo
Copy link
Contributor Author

ぐえっ、cmake直してこないと・・・

@yumetodo
Copy link
Contributor Author

yumetodo commented May 19, 2019

当ライブラリはC++11も動作を保証しています。

なおC++14の機能が紛れていた模様。
eb0ba38

下限を決定してほしいです。gccとclangのどのバージョンがどんな機能に対応しているかは
https://cpprefjp.github.io/implementation-status.html
にまとまっています。
Clang3.8はC++11という意味ではちょっと新しい気がします。

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

下限は
Clangは3.3、GCCは4.8が理想ですかね。

ちなみに今のバージョンだと
Clang3.3はコケますね。

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

なおC++14の機能が紛れていた模様。

まさかC++14の機能が残っていたなんて……。
(手元のコンパイラはエラーも警告も出ませんでした)

@AsPJT
Copy link
Owner

AsPJT commented May 19, 2019

Clang 3.6.0まで現時点での対応バージョンを下げました。
2cbb1f6

もっと下げたいですがClang 3.5.0でえげつないエラーが……。

@yumetodo
Copy link
Contributor Author

CIそのものは有効になっているので後は #36 で・・・。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants