Skip to content

Workflow Contributor Gatekeeper AppOwner

dpefour edited this page Mar 23, 2015 · 5 revisions

Important information about Git branch in this document

Although most of the contributions typically target the master branch, the actual branch accepting contributions depends on the Vivado release and needs to be checked on this page.

Work Flow between the Contributor, the App Owner and the Gate Keeper

There are two different processes depending on whether the code of the app or the revision number of the app has been updated or not. If the contributor is not the app owner, the app revision number should not be updated. Updating the app revision number is only done by the app owner once he/she has verified the pull requests(s) from other contributor(s).

The contributor is updating the app code

  1. The Contributor clones his GitHub repo in a local area (Windows or Linux)

  2. The Contributor add or modify some code and commit the changes to his/her GitHub repo.

    Note: The app revision number should not have been updated. However, the app XML file must have been updated.

  3. The Contributor goes to GitHub.com and submit a pull request

  4. The Gate Keeper receives the pull request. He adds a comment to it and assign the pull request to the App Owner

  5. The App Owner gets notified. He has the responsability to check the code inside the pull request (linter and regression test suite)

  6. If the code is passing the tests, the App Owner can increment the app revision number. That's only after incrementing the app revision number that the changes become available to all the users through "Refresh Catalog".

The app owner must re-generate the various files (tclIndex, pkgIndex.tcl, app.xml) as described in other section of the Wiki.

If the code is failing the tests, the App Owner adds some explainations to the pull request from GitHub.com and rejects the pull request

  1. Once the App Owner has blessed the pull request, the Gate Keeper merges the code inside the Xilinx repo, adds a comment and close the pull request

The following figure summarizes the above process:

Figure 1 - App Submission Process

The app owner is updating the revision number of the app

  1. The App Owner clones his GitHub repo in a local area (Windows or Linux)

  2. The App Owner update the app revision number inside utils.tcl and commit the changes to his/her GitHub repo. The revision number of the app is the same as the Tcl package of the app.

  3. The App Owner goes to GitHub.com and submit a pull request

  4. The Gate Keeper receives the pull request and check that the app revision number looks correct

  5. The Gate Keeper merges the code inside the Xilinx repo, adds a comment and close the pull request

The following figure summarizes the above process:

Figure 2 - App Revision Number Update Process