os-climate / OS-Climate-Community-Hub

START HERE: OS-Climate Community & Project Collaboration Space
Apache License 2.0
101 stars 19 forks source link

Need a DCO onboarding link #28

Closed MichaelTiemannOSC closed 2 years ago

MichaelTiemannOSC commented 2 years ago

The onboarding materials state:

All project contributors are expected to adhere to the Linux Foundation DCO Policy
https://wiki.linuxfoundation.org/dco

We need a reference document about how to make this work for our expected developer environments: Jupyter Notebooks running either on OS-Climate nodes or on developers' desktops. But also developers who use other IDEs and use GitHub Desktop and/or the GitHub CLI.

We also need instructions on how to fix DCO errors, and in particular, resources we can go to when we are not comfortable doing things to GitHub repos that are not part of the normal push/pull process.

MichaelTiemannOSC commented 2 years ago

I don't know who did what, but the Pull Request I submitted this morning had a sign-off integrated, even though I did nothing different. If that's the fix, I'm happy to close!

https://github.com/os-climate/ITR/pull/90

caradelia commented 2 years ago

Not sure what happened as I did not do anything @MichaelTiemannOSC

HeatherAck commented 2 years ago

@MichaelTiemannOSC - I created the following doc which includes more details on Contributing and in particular, DCO. Feedback appreciated: https://github.com/os-climate/OS-Climate-Community-Hub/blob/main/Contributing.md Also, I believe the LF team just added the new DCO signoff integration into the UI. See pic below - is this what you saw when you did the pull request?

image

HeatherAck commented 2 years ago

comments from M Tiemann: I will note that following all of the instructions I could to the letter--including adding DCO signoff text as the last line of my actual commit (which was translated to a Pull Request with the signoff above the pull request details) resulted in an unacceptable PR due to DCO failure. I was able to follow the additional steps to producing a legitimate signoff, but...IT IS ABSOLUTELY ABSURD THAT IT IS SO DIFFICULT TO GET A CORRECT RESULT BY MERELY FOLLOWING INSTRUCTIONS.

This suggests we need to write our own gist, inserting instructions as to how it might be possible to issue a set of commands from the command line that does not fall all over itself the instant one attempts to push changes up to github.

@MightyNerdEric can you take the lead up updating DCO info in https://github.com/os-climate/OS-Climate-Community-Hub/blob/main/CONTRIBUTING.md

HeatherAck commented 2 years ago

Created LF ticket: https://jira.linuxfoundation.org/plugins/servlet/theme/portal/2/IT-24283

eb-oss commented 2 years ago

That documentation already contains my main advice: git commit --amend --signoff In fact, you don't even need to bring up an editor: git commit --amend --signoff --no-edit

@MichaelTiemannOSC Could you detail how you got the bad result on your first try?

MichaelTiemannOSC commented 2 years ago

Here's an example of a step-by-step set of instructions for how some Red Hat communities do their GitHub commits, pull-requests etc. This could be adapted to give an end-to-end example for how things should be done for OS-Climate (including pre-commit checks, argo CI/CD, black, prow, DCO, and everything else that makes life just a little more complicated): https://developers.redhat.com/articles/command-line-heroes-game-pull-request#

eoriorda commented 2 years ago

Cryptographic Signrature -

Need all OSC to follow same process .
Need to make sure good gatekeeping on each commit but also use case for commits in an emergency.

  1. Develop standard procedure for normal commits with notebooks using the video as a guide
  2. Add to the process for emergency commits Why - Code provenance and adherence to licensing . Need to look at the effort VS Value . Why DCO . Are there other options beside DCO ??
eoriorda commented 2 years ago

Eric Hall is working on improved documentation using Michael link as a start. Helping people create DCO add them to code. DCO is required on all LF projects. Michael T asked is there a way to link a precommit hook to the gitcommit-s . Use the users local config and it only has to be done once.

HeatherAck commented 2 years ago

initial version of docs on 23-Aug; also will look at using githooks, so devs know if DCO is missing upon commit (automating it cannot be done)

eoriorda commented 2 years ago

Change : Eric B submitted a Pull request to review and update documents . More feedback needed from Michael T and also look to other experts in this area.

eoriorda commented 2 years ago

Michael T happy to close