RustのプロジェクトでGitHub Actionsを使う
RustのリポジトリでGItHub Actionsを使うための yml
ファイルを下記にメモする。
name: Rust CI on: [push, pull_request] jobs: check: name: Check runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Run cargo check uses: actions-rs/cargo@v1 with: command: check test: name: Tests runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test lints: name: Lints runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Run cargo fmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check - name: Run cargo clippy uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings
上記の設定を行うことで、
cargo check
を用いたチェックcargo fmt
を用いたチェックcargo clippy
を用いたチェックcargo test
を用いたテスト
が行われる。
まだRustのことはあまり良くわかっていないのだが、 actions-rs
というRustのための非公式だが広く採用されている(らしい)GItHub Actionsツールキットを用いている。
なお、上に書いた yml
はこの actions-rs
のexampleリポジトリにあったサンプルを大いに参考にさせてもらっている。
(というか、ほぼ一緒)
ひとまずこの設定で最低限のチェックはできそうなので備忘録として残しておく。
なお、実際に動かして見るためにかんたんなFizz Buzzのリポジトリを作成している。
なんていうことのないFizz Buzzである。
ちなみに cargo clippy
を使ったら最初に書いていた書き方だと警告が結構出ていたので、記述を途中で修正した。
こういう書き方のほうが良いのか、とRustならではの作法(?)を教えてもらえるのは非常に助かる。