Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add descriptions of CI jobs #12555

Closed
wants to merge 10 commits into from
Closed

doc: add descriptions of CI jobs #12555

wants to merge 10 commits into from

Conversation

morrme
Copy link
Contributor

@morrme morrme commented Apr 20, 2017

Fixes: #12021

Checklist

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Apr 20, 2017
@mscdex mscdex added the meta Issues and PRs related to the general management of the project. label Apr 20, 2017
Copy link
Member

@gibfahn gibfahn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly looks good! Couple of minor nits.

Could you please wrap to 80 chars? Obviously don't break up a line/link if it messes up the Markdown formatting.

only runs the linter targets, which is useful for changes that only affect comments or documentation.

* [`citgm-smoker`](https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/)
uses CitGM to allow you to run npm install && npm test on a large selection of common modules. This is useful to check whether a change will cause breakage in the ecosystem. To test node ABI changes you can run [citgm-abi-smoker](https://ci.nodejs.org/view/Node.js-citgm/job/citgm-abi-smoker/).
Copy link
Member

@gibfahn gibfahn Apr 21, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a link to CitGM:

CitGM -> [CitGM](https://github.com/nodejs/citgm)

Backticks:

npm install && npm test -> npm install && npm test

For consistency:

[citgm-abi-smoker] -> [citgm-abi-smoker]

@@ -87,6 +87,23 @@ All pull requests that modify executable code should be subjected to
continuous integration tests on the
[project CI server](https://ci.nodejs.org/).

Here is a summary of current CI jobs:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe:

Here are some useful CI jobs:

We don't want to imply that this is an exhaustive list.

@gibfahn
Copy link
Member

gibfahn commented Apr 21, 2017

Please could you format your commit message according to the Contributing Guidelines?

Maybe something like this?

doc: update COLLABORATOR_GUIDE.md

Fixes: https://github.com/nodejs/node/issues/12021

If you don't have time it can be rewritten by whoever lands this, but if you are going to help out more on the project (as I hope you do), then it saves work if you produce better commit messages. The Fixes: line means that the issue will automatically be closed when this PR lands.


Also at the moment your Git author name and email address are set to:

morrme <morrme@users.noreply.github.com>

People usually choose to use their full names for commits. To set your name globally you can do:

git config --global user.name "REPLACE ME"
git config --global user.email "memthings@gmail.com" # Or whichever email address you prefer.

To change the author for a single commit you can do:

git commit --amend --author="REPLACE ME <memthings@gmail.com>"
git push --force-with-lease

If you don't want to have your name against this commit, that's fine too.

@gibfahn
Copy link
Member

gibfahn commented Apr 21, 2017

@morrme thanks a lot for doing this! Suggesting changes is no trouble when people are responsive.

Let me know if you want me to change your name/email on landing.

@morrme
Copy link
Contributor Author

morrme commented Apr 21, 2017

@gibfahn it was my pleasure !

as for the name: no, it's no big deal, as long as it doesn't affect anything on your end.

Copy link
Member

@mhdawson mhdawson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

only runs the linter targets, which is useful for changes that only affect comments
or documentation.

* [`citgm-smoker`](https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be the shorter https://ci.nodejs.org/job/citgm-smoker/ if you omit the view/Node.js-citgm. Same for citgm-abi-smoker later in this paragraph.

is designed to allow one to run a single test over and over on a specific platform
to confirm that the test is reliable.

* [`node-test-commit`](https://ci.nodejs.org/job/node-test-commit/)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this job intended to be manually run, as opposed to being started by node-test-pull-request? If there isn't a good use case for running this job without running node-test-pull-request then I would be inclined not to include it as a separate bullet point.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is sometime manually run when people just want to test a commit rather than a Pull Request. I don't think there's any particular reason to, as you can just choose not to rebase, which is all node-test-pull-request really does before starting node-test-commit. So it probably does make sense not to include it for now. If someone has a good reason to re-add it, they can do it later.

@@ -318,7 +337,7 @@ information regarding the change process:

- A `PR-URL:` line that references the *full* GitHub URL of the original
pull request being merged so it's easy to trace a commit back to the
conversation that led up to that change.
conversation that led up to that change.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extraneous whitespace change here?

@@ -87,6 +87,25 @@ All pull requests that modify executable code should be subjected to
continuous integration tests on the
[project CI server](https://ci.nodejs.org/).

Here are some useful CI jobs:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps make this a heading?

#### Useful CI Jobs

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I make the change now or wait until someone else agrees ? Not sure of the protocol here. @gibfahn ?

Copy link
Member

@gibfahn gibfahn Apr 22, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@morrme if it seems reasonable to you then go for it. The only downside to implementing suggested changes is that if lots of people disagree you might have to change it back. This one doesn't seem very controversial, so yeah I'd go ahead and change it.

Copy link
Member

@lpinca lpinca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with @jasnell's comments addressed.

* [`citgm-smoker`](https://ci.nodejs.org/job/citgm-smoker/)
uses [`CitGM`](https://github.com/nodejs/citgm) to allow you to run `npm install && npm test`
on a large selection of common modules. This is useful to check whether a change will
cause breakage in the ecosystem. To test node ABI changes you can run [`citgm-abi-smoker`](https://ci.nodejs.org/job/citgm-abi-smoker/).
Copy link
Contributor Author

@morrme morrme Apr 22, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be changed to

To test Node ABI changes

or

To test Node.js ABI changes

or is it fine as is?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes please, Node.js in text wherever possible.

Impressed that you're reviewing your own PR 😁.

@morrme morrme changed the title documentation: add descriptions of CI jobs doc: add descriptions of CI jobs Apr 22, 2017
cause breakage in the ecosystem. To test node ABI changes you can run [`citgm-abi-smoker`](https://ci.nodejs.org/job/citgm-abi-smoker/).

* [`node-stress-single-test`](https://ci.nodejs.org/job/node-stress-single-test/)
is designed to allow one to run a single test over and over on a specific platform
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a single test -> a group of tests

Fixes: #12021

I made the suggested changes and created a navigation
link to maintain consistency with other section headings.
@gibfahn
Copy link
Member

gibfahn commented Apr 23, 2017

@jasnell LGTY?

@morrme
Copy link
Contributor Author

morrme commented May 8, 2017

@gibfahn there are some conflicts now (i guess because something else was merged ahead of this?). looks like it's just my addition of this section to the TOC.

@gibfahn
Copy link
Member

gibfahn commented May 8, 2017

there are some conflicts now (i guess because something else was merged ahead of this?). looks like it's just my addition of this section to the TOC.

Thanks for the ping, looks like this got lost. Please could you rebase this on upstream/master and force push? Comment here when you've done that and I'll land.

@gibfahn gibfahn dismissed jasnell’s stale review May 8, 2017 20:43

Requested changes have been made.

@morrme
Copy link
Contributor Author

morrme commented May 9, 2017

@gibfahn no luck. I can try starting over if that will help.

@mhdawson
Copy link
Member

mhdawson commented May 9, 2017

@morrme what do you mean by "no luck". In the worst case you should be able to start a rebase which will fail and then you will need to manually resolve the conflict. At that point you should then be able to force push to this branch.

@mhdawson
Copy link
Member

mhdawson commented May 9, 2017

If you need help to walk through those steps just let me know.

@morrme
Copy link
Contributor Author

morrme commented May 9, 2017

@mhdawson It did not work for me. I also tried to resolve the conflict manually but that didn't work either.

I could try doing a new PR to get it done quickly...

@gibfahn
Copy link
Member

gibfahn commented May 9, 2017

@morrme I recommend doing this:

git fetch --all # Update all your remotes
git checkout doc-ci-jobs # Make sure you're on the right branch
git reset --hard @~ # drop the last commit (the merge one)
git rebase -i @~9  # rebase on HEAD~9 as you made 9 commits
  • Change the pick to s (i.e. squash) for all but the first commit, save and quit.

image

  • Edit the message to whatever you think the final message should be (what will be landed), save and quit.

image

git rebase upstream/master # Rebase on the upstream, should be easier now there's just one commit
git status # Shows you the file that has conflicts, in this case COLLABORATOR_GUIDE.md
  • Open the file in your editor of choice and fix the conflicts, save and quit:

Before:

image

After:

image

(Note that I kept the bit marked HEAD, and just added your new entry with the proper indentation).

git add COLLABORATOR_GUIDE.md
git rebase --continue
git status # Will show that your branch has diverged from origin/doc-ci-jobs
git push --force-with-lease # Overwrite your remote branch with the updated local one

Let me know if that works for you.

EDIT: I recommend trying to work through and understand the git squash and rebase workflow, it's pretty opaque initially, but once you get used to it it makes sense. Let me know if you have any questions.

@mhdawson
Copy link
Member

@morrme if it helps I'm happy to arrange a time to do a hangout/zoom to work through it.

@morrme
Copy link
Contributor Author

morrme commented May 11, 2017

@mhdawson Thank you so much for that offer! I've tried to get involved as much as I can, but there's still so much I have to learn. I thought conflict was resolved now, though...? cc: @gibfahn

@gibfahn
Copy link
Member

gibfahn commented May 11, 2017

I thought conflict was resolved now, though...?

I'm afraid not, it looks like at some point you did a git pull or a git merge, hence the merge commit:

image

If you follow what I suggested it should work, you just have to remove the extra commit you added, I'll update that comment (EDIT: updated the instructions)

@morrme
Copy link
Contributor Author

morrme commented May 11, 2017

@gibfahn There was a button on the PR that allowed me to fix the resolution manually. I hadn't gotten anywhere with it but your instructions actually helped that too. That's the merge commit you see from 2 days ago.

@gibfahn
Copy link
Member

gibfahn commented May 11, 2017

There was a button on the PR that allowed me to fix the resolution manually. I hadn't gotten anywhere with it but your instructions actually helped that too. That's the merge commit you see from 2 days ago.

The problem with that is that the CI will fail if you use the web UI to fix issues, as it rebases onto the latest master (to make sure there aren't any incompatibilities). IMO this is an issue with the Fix conflicts button. Point is that if you could use the command line that'd be great.

@morrme morrme closed this May 11, 2017
@morrme
Copy link
Contributor Author

morrme commented May 11, 2017

@gibfahn Sorry about that. Well I've closed this one, perhaps someone else will come across the issue and make better headway! Thanks to you and @mhdawson (and everyone else!!!) for your support!

@mhdawson
Copy link
Member

mhdawson commented May 11, 2017

@morrme, at this point I'd say feel free to submit a new PR with your changes. Somebody else could pick it up it but since you've done the work to get it this far, it would be nice to see it be tagged with your name.

@gibfahn gibfahn reopened this May 12, 2017
@gibfahn
Copy link
Member

gibfahn commented May 12, 2017

I applied your commits to a branch on my fork, rebased and squashed.

Branch: https://github.com/gibfahn/node/tree/doc-ci-jobs
Linter CI: https://ci.nodejs.org/job/node-test-linter/9015/ EDIT: Linter passed, landing...

@gibfahn
Copy link
Member

gibfahn commented May 12, 2017

Landed in 1d5f5aa , thanks for your contribution @morrme !

@gibfahn gibfahn closed this May 12, 2017
gibfahn pushed a commit that referenced this pull request May 12, 2017
PR-URL: #12555
Fixes: #12021
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@morrme
Copy link
Contributor Author

morrme commented May 12, 2017

@gibfahn & @mhdawson Thanks so much! Sorry to be so gunshy, I just didn't want to screw anything up. I actually thought about going through the steps this morning before seeing this land, since I was OK with losing out on the commit either way. It was a confidence problem, embarrassingly.

@mhdawson
Copy link
Member

@morrme thank you for your contribution. We make good progress on Node.js only because of the contributions of a broad range of people like yourself.

@gibfahn
Copy link
Member

gibfahn commented May 12, 2017

@morrme in general the worst that can happen is you lose your changes, so in general feel free to try things (history is usually recoverable anyway).

If you want to contribute again feel free!

anchnk pushed a commit to anchnk/node that referenced this pull request May 19, 2017
PR-URL: nodejs#12555
Fixes: nodejs#12021
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@jasnell jasnell mentioned this pull request May 28, 2017
@gibfahn gibfahn mentioned this pull request Jun 15, 2017
3 tasks
MylesBorins pushed a commit that referenced this pull request Jun 22, 2017
PR-URL: #12555
Fixes: #12021
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jul 11, 2017
PR-URL: #12555
Fixes: #12021
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
@MylesBorins MylesBorins mentioned this pull request Jul 18, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document CI jobs
9 participants