Fastlane是一组工具套件,旨在实现iOS应用发布流程的自动化,并且提供“一个运行良好的持续部署流程,我们公司的iOS项目持续集成和持续发布都依赖这个框架,由于整个过程高度自动化,所以帮我们节省了很多时间。
自己也写过一个Fastlane的action,用于执行私有库pod lib lint命令,因为自己用了一段时间,感觉还不错,所以想发布到Fastlane的master分支上分享给大家,于是Fork了一个Fastlane的仓库,
新建了一个feature分支add_action_pod_lib_lint准备做Pull Request。
首先阅读了Fastlane的Pull Request规则,需要将此分支的所有Commit通过Rebase命令合并成一个。
于是按如下步骤执行:
(1)git rebase -i HEAD~2(这个2代表Pick最近的两个Commit)
(2)在Vim里编辑,然后选择sqaush方式,将前一个Commit合并到当前选中的Commit
(3)继续在Vim里编辑合并后的Commit信息
(4)合并成功,然后git push -ff覆盖远端分支的提交信息
接下来,提交Pull Request,提交后发现Github的CI做的相当好,分两步进行:
(1)使用一个叫做Hound-Bot的服务Check你的代码语法规范(大概看了一下,Hound服务对于开源项目是免费的,很棒)
(2)使用Circle CI跑一遍单元测试
执行(1)的过程中发现了2个Violation,基本都是一些格式上的错误和语法上不太严谨的地方,比如:文件的最后一行要给一个空行。
看了一下没什么大不了的,于是直接忽略了。
执行(2)之后,发现test没有通过,登到Circle Ci上发现居然给出的结果是:
Your build ran 1733 tests in RSpec with 0 failures
感觉很奇怪啊,明明全部通过了啊,不明白错误究竟在什么地方,难道Circle CI这么智能,发现我的单元测试的Case并没有覆盖所有场景?(因为很简单,所以犯懒只写了两个Case)
于是补全了一下测试,继续重复之前的步骤,结果依然是不通过,彻底郁闷了!于是仔细检查了一下Circle CI的每一个测试步骤和Console中打印的信息,终于在一个很不起眼的地方发现了问题:
fastlane: Command failed with status (1): [bundle exec rubocop...] rake aborted!
晕,原来Circle CI也会使用Rubocop进行静态检查,当然也包括语法格式规范之类的,看来不应该忽略Hound-Bot的警告啊(突然想起一个程序员和警告的梗)。
最后将所有语法全部规范化,再次Pull Request,这回终于OK了。
All checks have passed
2 successful checks
Details ci/circleci — Your tests passed on CircleCI!
hound — No violations found. Woof!
This branch has no conflicts with the base branch
Only those with write access to this repository can merge pull requests.
接下来就等待排队Merge到Master分支了
相关推荐
给 Fork me on GitHub 换个风格.zip,A fresher "Fork me on GitHub" callout.
该脚本是本人写的一个小脚本,只要有对方的用户名可以方便快捷获取该账号在github中的start和fork数,欢迎大家下载;
本仓库收集史上最坑爹的代码片段,欢迎大家通过 Fork+Pull Request 参与
fork 一个组织的所有 repos 先决条件 需要环境变量FORKORG_GITHUB_TOKEN 。 您可以将它添加到您的~/.env文件中,因为 forkorg 使用 安装 $ npm install forkorg --global 用法 # fork all repos of an org $ ...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料...欢迎Fork,你也可以通过Pull Request参与编辑.zip
Fork 本仓库 新建 Feat_xxx 分支 提交代码 新建 Pull Request 2023 预测模型 参与贡献 Fork 本仓库 新建 Feat_xxx 分支 提交代码 新建 Pull Request 2023 预测模型 参与贡献 Fork 本仓库 新建 Feat_xxx 分支 提交...
克隆仓库: 打开 Fork,点击 "Clone"(克隆)按钮。...在拉取请求中,选择源分支和目标分支,然后添加描述和标题,最后点击 "Create Pull Request"(创建拉取请求)按钮。 这只是 Fork 的基本用法介绍。
目录 GitHub 初识 ...Fork 一个仓库 Fork 一个示例仓库 同步你的 Fork 仓库 检索其他仓库来 Fork 社会化 Follow 一个人 Watch 一个项目 其他你可以做的事 图形化工具 GitHub for Windows GitHub for Mac
通过 GitHub 向我发送 Pull Request。 -- 蒋鑫, http://weibo.com/gotgit/ 目录 1. 探索GitHub 1.1. 什么是GitHub 1.2. GitHub亮点 1.3. 探索GitHub 2. 加入GitHub 2.1. 创建GitHub账号 2.2. ...
EZLippi.github.io, 这是我的个人网站的源码,欢迎fork。
更改工作目录(cd) 文件系统操作: 创建,重命名,移动和删除目录和文件纯文本编辑器操作: 编辑并保存文件学习成果参加者将能够: 使用通用工作流为GitHub上的项目贡献代码准备一个fork和本地存储库以对GitHub上...
使用 node.js(以编程方式)仅user/repo模式或通过 [gitfork-cli][gitfork-cli] 包为 CLI 使用 fork 一个 Github 存储库。 安装 npm i --save gitfork npm test 用法 有关更多用例,请参阅 var gitfork = require ...
如何加入使用 GitHub 的 Fork & Pull Request 机制,你不必成为该计划的一员就可以参与该计划。加入我们意味着承担更多的责任,你需要参与讨论,review 他人的代码,回答社区的疑问等等。你可以 ,在 _data/members....
比如:从一个项目A中fork了一个分支B,并且在分支B有了改动。过了几天后,项目A中的代码应该会有很多人提交修改了,现在想将最新的代码pull到分支B。请问如何做呢?在github界面上没有看到响应的按钮 解决步骤: ...
OpenPDF是一个用LGPL和MPL开源许可证创建和编辑PDF文件的Java库。openpdf是itext的lgpl/mpl开源后续版本,它基于itext 4 svn标记的fork、fork和svn标记。...请随时向这个github存储库提交pull请求和错误报告。
open pdf是一个java库,用于使用lgpl和mpl开源许可证创建和编辑pdf文件。openpdf是itext的lgpl/mpl开源后续版本,它基于itext 4 svn标记的fork、fork和svn标记。...请随时向这个github存储库提交pull请求和错误报告。
Git-it 挑战Get Git 安装和配置 GitRepository 创建本地仓库Commit to it 检测状态,添加 commit 修改GitHubbin 获取一个 GitHub 账号Remote Control 连接本地仓库来在 GitHub.com 远程操作 Forks and Clones Fork ...
github fork仓库对原始仓库修改未合并的查询。方便快速的找到小码哥fork某仓库之后修改修改合并合并到主仓库的变更。可以使用学习心仪项目在其他同道中人的手中做的改变。爱屋及乌,学习一下别人怎么搞的。 对抗!!...
GitBucket是一个用Scala语言编写的易安装的Github克隆,你只需要把它的war文件扔到tomcat中,然后启动tomcat就直接可以访问了! 现在版本的GitBucket提供了下面的基本功能: 公有/私有Git仓库(仅HTTP访问...
为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按 钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。 GitHub功能特点