前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2019-09-16 - Rust的GitHub Actions分享

【Rust日报】2019-09-16 - Rust的GitHub Actions分享

作者头像
MikeLoveRust
发布2019-09-17 18:00:11
6300
发布2019-09-17 18:00:11
举报

Rust的GitHub Actions分享

几个星期前,我获得了GitHub CI / CD平台的测试版访问权限。我的Rust项目之前主要使用的Travis CI,最近开始迁移到Azure Pipelines,但现在可以考虑转向Github Actions了。

与Azure one相比,它配置的语法更友好一些,有Linux、macOS和Windows环境可用(几乎兼容主流平台),与其它GitHub组件的集成度也高一些。但对于我来说最重要的是可以创建在CI工作流中执行的动作自定义任务。

跟平常Rust CI操作类似

为Rust项目创建一个良好的CI工作流,需要做以下事情

  1. 检查你的cargorustup是否正常
  2. 安装你所需要的环境(stable,nightly或其它版本)
  3. 运行cargo clippycargo fmt

我从自己项目的Azure Pipeline配置中复制了所有相同的脚本,在我的项目之间以某种方式复用它们,但是现在我很高兴这些配置能够运用到GitHub Actions上

下面都是一些配置和解释了,我就不在这里翻译了,感兴趣的可以直接阅读原文

Read More:https://svartalf.info/posts/2019-09-16-github-actions-for-rust/

ImageCli - 一个纯Rust图像处理命令行工具

一个建立在image和imageproc之上的命令行图像处理工具。

看几个用例

最简单的用法是加载一个图像,然后保存它的相同副本。

代码语言:javascript
复制
imagecli --input robin.png --output ex0_0.png

可以为输出图像指定不同的格式

代码语言:javascript
复制
imagecli --input robin.png --output ex1_0.jpg

例如,下面的命令将图像转换为灰度

代码语言:javascript
复制
imagecli -i robin.png -o ex2_0.png -p 'gray'

还有更多的操作,感兴趣的大家可以去仓库瞧瞧

Repo:https://github.com/theotherphil/imagecli

通过模拟散热来学习Rust

这篇文章主要介绍了作者在绘制散热模拟图像时,如何不选择C++从而选择使用了Rust的历程,并在文中放出了相应的代码和成果,感兴趣的小伙伴可以仔细阅读一下这篇文章

Read More:https://tejqunair.com/posts/rust-heat/

templar - 动态模板框架

Templar既是一个Rust库,也是一个CLI工具,用于处理模板。其用法和风格都受到了Jinja2和Ansible的启发,尽管它并不是这两种方法的克隆。该项目的目标是提供快速和灵活的动态模板,特别是用于配置和本地工具。

例如,一个简单的模板可能是这样的

代码语言:javascript
复制
user_name={{ user.name }} {# Replace with the context property 'name' in 'user' #}
full_context={{ . | json("pretty") }} {# Dump the entire context as JSON, '.' is the root node #}
password={{ script('echo hunter2 | md5sum') }} {# Execute a shell command and calculate the MD5 sum #}

除了简单的替换之外,还可以使用更复杂的表达式。

代码语言:javascript
复制
The calculated result is {{ 100 * 5 / 10 }} {#- Prints '50' #}

Today's guest list:
{%- for person in ['Bob', 'Joe', 'Jen', 'Amy')] %}
* {{ person }} will come to the party!
{%- endif %} {#- This will loop everyone in the inline array above, but they array could also come from the context #}

bitwarden_rs - 非官方的Bitwarden服务器

这是一个用Rust编写的Bitwarden server API实现,与上游的Bitwarden客户机兼容,非常适合在运行官方资源密集型服务可能并不理想的情况下进行自托管部署。

Repo:https://github.com/dani-garcia/bitwarden_rs

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rust的GitHub Actions分享
  • ImageCli - 一个纯Rust图像处理命令行工具
  • 通过模拟散热来学习Rust
  • templar - 动态模板框架
  • bitwarden_rs - 非官方的Bitwarden服务器
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档