天天看点

github rust 项目Travis ci配置

复制github仓库[opt]

rust fmt使用

安装

运行

配置

宏使用

与Travis ci集成

rust clippy使用

类别(组)

travis-ci

简介

.travis.yml

集成步骤

这里我们要基于tentacle做二次开发

fmt是一个根据样式规则格式化Rust代码的工具

可以在项目根目录下创建一个名为<code>rustfmt.toml</code>或 <code>.rustfmt.toml</code>的TOML文件,规则使用variable = value的形式定义;

有哪些可使用的规则可以用<code>rustfmt --help=config</code>命令查看;

可以使用<code>rustfmt --print-config default rustfmt.toml</code>命令生成一个默认的配置文件

eg.

如果你的代码不像被rustfmt格式化,可以使用 #[rustfmt::skip]

为防止rustfmt格式化宏或属性,请使用#[rustfmt::skip::macros(target_macro_name)] 或 #[rustfmt::skip::attributes(target_attribute_name)]

使用–check标识,如果代码格式不正确,rustfmt将退出并显示出需要修改的代码块.

Travis设置可能看起来像这样:

clippy有一组lints集合,用于检查你代码中错误和坏味道,帮助你改进你的Rust代码。

clippy::all(默认配置,排除nursery,pedantic和cargo)

clippy::correctness(代码完全错误或非常无用,默认情况下会导致硬错误)

clippy::style (应该以更惯用的方式编写的代码)

clippy::complexity (执行简单但复杂的代码)

clippy::perf (可以以更快的方式编写的代码)

clippy::pedantic (非常严格lints,默认情况下已禁用)

clippy::nursery (尚未完成的新的lints,默认情况下处于关闭状态)

clippy::cargo (对cargo manifest进行检查,默认情况下为关闭状态)

默认情况下,仅启用以下类别:

clippy::style

clippy::correctness

clippy::complexity

clippy::perf

自动应用修改建议,帮助你修改代码

可以在项目根目录下创建一个名为<code>rustfmt.toml</code>或 <code>.rustfmt.toml</code>的TOML文件,规则使用variable = value的形式定义,所有的lint规则请参考:https://rust-lang.github.io/rust-clippy/master/index.htm。

<code>cargo clippy</code>命令在执行的时候,首先会寻找工作目录中是否有.clippy.toml,如果有的话就会将其作为clippy配置,如果没有的话就会再寻找工作目录中是否有clippy.toml文件,如果还是没有的话,就会去寻找上层目录是否有.clippy.toml和clippy.toml文件。

可以在你的代码中使用clippy提供的宏,允许、警告、不允许Clippy lints,分别对应

#[allow(…)]、#[warn(…)]、#[deny(…)]。

全部lints只警告 (#![deny(clippy::all)])

可以同时使用两个lint 组 (#![deny(clippy::all)], #![deny(clippy::pedantic)])

部分lints(#![deny(clippy::single_match, clippy::box_vec)], etc.)

allow/warn/deny可以修饰单个函数或模块

如果您不想在代码中使用clippy宏,则可以通过在运行期间将额外的标志传递给<code>cargo clippy</code>命令来全局启用/禁用clippy,eg:

<code>cargo clippy -- -A clippy::lint_name</code>

<code>cargo clippy -- -W clippy::lint_name</code>

<code>cargo clippy -- -W clippy::pedantic</code>

<code>cargo clippy -- -Aclippy::all -Wclippy::useless_format -Wclippy</code>::…

请注意,<code>-D warnings</code>如果在代码中发现任何警告,将导致构建失败。其中包括rustc发现的警告(例如dead_code)。如果要避免这种情况,请在代码中使用<code>#![deny(clippy::all)]</code>宏或在命令行中使用<code>-D clippy::all</code>。

Travis CI 是一个开源的,分布式的持续集成服务,用来构建及测试在 GitHub 托管的代码。

它提供了对多种编程语言的支持,包括 Ruby、JavaScript、Java、Scala、PHP、Haskell 和 Erlang 在内的多种语言。许多知名的开源项目使用它来在每次提交的时候进行构建测试,比如 Ruby on Rails,Ruby 和 Node.js

Travis 要求项目的根目录下面,必须有一个.travis.yml文件。这是配置文件,指定了 Travis 的行为。该文件必须保存在 Github 仓库里面,一旦代码仓库有新的 Commit,Travis 就会去找这个文件,执行里面的命令。

1、使用你的github账号授权登录https://travis-ci.com/signin

2、点击头像setting

github rust 项目Travis ci配置

3.点击manage repositories on Github,跳转到github授权页

github rust 项目Travis ci配置

4.选择需要ci的项目,请求授权

5. 授权后,可以看到当前授权的项目,点击setting 可以进入构建详情页面

github rust 项目Travis ci配置

6. 点击trigger build可立即触发构建

github rust 项目Travis ci配置

7.可以将当前的构建状态图标放到项目的readme中

github rust 项目Travis ci配置