training-guides/doc/upstream-training/source/slides/workflow-training-contribut...

2.7 KiB

Overview of the contribution process

image

Getting to Know Your Project

  • Clone and be familiar with the code
$ git clone https://opendev.org/openstack/<your_project>
  • Example:
$ git clone https://opendev.org/openstack/training-guides

Note

Each project has its own purpose & culture.

Interacting with the Project

  • Talking in the IRC channel
  • Following and participating in project related mail threads in the mailing list
  • Attending regular meetings
  • Filing, fixing, and triaging bugs
  • Filing a blueprint/spec
  • Implementing a blueprint/spec

Building Your Persona

  • Review other's code
  • Help fix the documentation
  • Answer other's questions or help direct them to those who can
  • Attend the meetings
  • Let the PTL know you are interested in participating in the project
    • Explain why you are interested and what are your strengths
    • Ask how you can help the project

Building Your Persona

  • Build a network
    • Pay attention to who is an expert in what area
    • Ask questions in the channel or send direct messages
  • Trust within the community
    • Trust that your comments are valid
    • Trust that you can write and review code
    • Trust that you understand or have the willingness to understand the technology
    • Trust that you are consistent and reliable and come back regularly

Note

If people know you, you have a better chance at your code getting attention.

General Contribution Workflow

  • Pick a task (bug, trivial fix, documentation, implementation)
  • Make a new branch in your local repository
  • Make code changes
  • Update and add tests (unit, functional, etc.)
  • Run tests (unit, functional, etc.)
  • Create your commit and push upstream for review

Note

We will go into this later on in more detail so hold off on answering detailed questions for now.

Your Patch Upstream

  • Zuul and vendor CIs will review your patch
  • Community members will review your patch
  • Reply to comments
  • Make changes and push new patchsets
  • Resolve merge conflicts

Speeding the Acceptance

  • Be on top of people's comments
    • Be patient
    • Be communicative
    • Be collaborative

REMEMBER: This is open source. Things happen on the community's schedule, not yours.