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

Add c2a-core Cargo lockfile #406

Merged
merged 1 commit into from
Jan 8, 2025
Merged

Add c2a-core Cargo lockfile #406

merged 1 commit into from
Jan 8, 2025

Conversation

sksat
Copy link
Member

@sksat sksat commented Jan 8, 2025

  • 一般的なベストプラクティスとしては、lib crate では Cargo.lock を commit せず、bin crate ではする、というものがある
  • これは、不要なバージョン制約を与えないようにし、依存関係をできるだけ新しいものに保てるようにするため
  • c2a-core は基本的にライブラリであるため、Cargo.lock は commit していなかった
  • しかし、pytest と clippy の CI がコケてる #401 のように、残念ながら(semver compatibility の範囲内で)乱暴なアップデートをする crate はある
    • そして、このような問題は、lockfile があれば部分的に防げる(少なくとも、同じコードベースで「気がついたら壊れていた」ということはなくなる)
  • その上で、C2A は Web サービスではないため、依存関係をできるだけ最新なもののセットに保つことよりは、ビルドの再現性を優先したい
    • そのため、c2a-core は C2A user の example/template 的存在であるという観点を加味した上でも、再現性を優先したい
  • また、c2a-core crate そのものは lib crate であるものの、cargo workspace 内の examples/mobc などは bin crate となっている
  • そのため、lockfile を commit するようにする

@sksat sksat added enhancement New feature or request priority::medium priority medium tools labels Jan 8, 2025
@sksat sksat self-assigned this Jan 8, 2025
@sksat sksat requested review from KOBA789 and ymgyt January 8, 2025 10:03
Copy link
Member

@ymgyt ymgyt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTMです

@sksat
Copy link
Member Author

sksat commented Jan 8, 2025

@ymgyt #402 もお願いしたいです

@sksat sksat merged commit 32fc169 into main Jan 8, 2025
37 checks passed
@sksat sksat deleted the feature/add-cargo-lockfile branch January 8, 2025 10:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority::medium priority medium tools
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants