The twists and turns of Fork a Github repository and then Pull Request

  Fastlane is a set of tools designed to automate the iOS application release process and provide "a well-run continuous deployment process. Our company's iOS projects rely on this framework for continuous integration and continuous release. Because the entire process is highly automated, so Saved us a lot of time.
 
I also wrote a Fastlane action to execute the private library pod lib lint command. I used it for a while and felt pretty good, so I wanted to publish it to the master branch of Fastlane and share it with everyone, so I forked a Fastlane repository ,
A new feature branch add_action_pod_lib_lint has been created to prepare for Pull Request.
 
First read the Pull Request rules of Fastlane, you need to merge all Commits of this branch into one through the Rebase command.
So follow these steps:
(1) git rebase -i HEAD~2 (this 2 represents the two most recent Commits of Pick)
(2) Edit in Vim, then select the sqaush method to merge the previous Commit into the currently selected Commit
(3) Continue to edit the merged Commit information in Vim
(4) The merge is successful, then git push -ff overwrites the commit information of the remote branch
 
 
Next, submit a Pull Request. After submitting, it is found that Github's CI is doing quite well. It is carried out in two steps:
(1) Use a service called Hound-Bot to check your code syntax specifications (probably read it, the Hound service is free for open source projects, which is great)
(2) Use Circle CI to run unit tests
 
During the execution of (1), 2 Violations were found, which were basically some format errors and grammatical inconsistencies, such as: a blank line should be given to the last line of the file.
It was no big deal after a look, so I just ignored it.
After executing (2), it was found that the test did not pass, and when I logged on to Circle Ci, I found that the result actually given is:
Your build ran 1733 tests in RSpec with 0 failures
 
It feels very strange, obviously all passed, I don't understand where the error is. Is Circle CI so smart that I found that the Case of my unit test did not cover all the scenarios? (Because it is very simple, I am lazy and only write two Cases)
So I completed the test and continued to repeat the previous steps, but the result still failed, completely depressed! So I carefully checked each test step of Circle CI and the information printed in the Console, and finally found the problem in a very inconspicuous place:
fastlane: Command failed with status (1): [bundle exec rubocop...] rake aborted!
 
Halo, it turns out that Circle CI also uses Rubocop for static checking, of course, including syntax format specifications and the like. It seems that Hound-Bot's warning should not be ignored (suddenly remembered a programmer and warning stalk).
 
Finally, all the grammars are normalized, Pull Request again, this time is finally 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.
 
Next, wait for the queue to Merge to the Master branch. 

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326944114&siteId=291194637