Migration to Github

This Doc is to help guide and keep track of the migration of github. Some of the below (CI/CD) may be able to be converted into JIRA tasks themselves.

  1. Gerrit to Github Changes
    1. We have open CRs currently:
      1. events
        1. New Filter and Unistall Filter
          Error rendering macro 'jira' : null
        2. filter creation & retrieval 
          Error rendering macro 'jira' : null
            - will be resubmitted using github PRS
      2. clean up
        1. refactor common pattern in integration tests 
          Error rendering macro 'jira' : null
        2. update to dep 0.5.4 
          Error rendering macro 'jira' : null
        3. gotools-clean target 
          Error rendering macro 'jira' : null
      3. fab3 api improvements
        1. fab3 building docs 
          Error rendering macro 'jira' : null
        2. gas limit to block return values 
          Error rendering macro 'jira' : null
        3. getblockbynumber omits invalid txs 
          Error rendering macro 'jira' : null
    2. Which patches can be abandoned and submitted as PR on github afterwards or do we merge all of these in before making the switch
  2. CR Merge Policy
    1. Due to the size of the project, instead of requiring 2 maintainers to approve a CR we want to simplify to a single non-author maintainer approval
      Error rendering macro 'jira' : null

  3. CI/CD Migration: The following should be the different steps of the Azure pipeline
    As a reference to Azure Pipeline documentation: https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema
    1. dependencies. Some may have predefined tasks in Azure that we can reuse
      1. go (https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/go?view=azure-devops)
      2. node & web3 (https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/tool/node-js?view=azure-devops)
      3. docker
    2. basic-checks (format, vendor, license, etc.)
    3. Unit-tests
    4. Integration-tests