当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2022-06-22
Rust的GitHub Actions分享 几个星期前,我获得了GitHub CI / CD平台的测试版访问权限。我的Rust项目之前主要使用的Travis CI,最近开始迁移到Azure Pipelines,但现在可以考虑转向Github Actions了。

Rust的GitHub Actions分享

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

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

跟平常Rust CI操作类似

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

  • 检查你的​​cargo​​和​​rustup​​是否正常
  • 安装你所需要的环境(stable,nightly或其它版本)
  • 运行​​cargo clippy​​和​​cargo fmt​​
  • 我从自己项目的Azure Pipeline配置中复制了所有相同的脚本,在我的项目之间以某种方式复用它们,但是现在我很高兴这些配置能够运用到GitHub Actions上

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

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

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

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

    看几个用例:

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

    imagecli --input robin.png --output ex0_0.png

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

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

    imagecli --input robin.png --output ex1_0.jpg

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

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

    imagecli -i robin.png -o ex2_0.png -p 'gray'

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

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

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

    通过模拟散热来学习Rust

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

    【Rust日报】2019-09-16 - Rust的GitHub Actions分享_图像处理_04

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


    templar - 动态模板框架

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

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

    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 #}

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

    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



    日报订阅地址:

    独立日报订阅地址:

    • Telgram Channel
    • 阿里云语雀订阅
    • Steemit
    • GitHub

    社区学习交流平台订阅:

    • Rust.cc 论坛: 支持 rss
    • Rust Force: 支持 rss
    • 微信公众号:Rust 语言学习交流


    网友评论