1. CLI
    1. Checkout repo
    2. Create bugfix branch
    3. (other) Find (or make own) a gh extension creating skeletal framework like creating a new project, and we can use that to create a simple project.
      1. Where extensions live
      2. What environment is needed
      3. Basic engineer and build system github action workflows
      4. ex: gh create-component <project_name>
      5. Can create addition --type flag for like IOC, Matlab, Python etc.
  2. GH Actions
    1. Trigger workflow on check in to any branch
    2. Call out to build system with repo/branch for the appropriate container (build environment)
      1. Which calls the component database and checks out repos and builds the repos
    3. Report
    4. Run any tests
      1. Installing build results to some place
      2. Run whatever tests available specific to component (Like unit tests, integration tests)
    5. Record to the component databases
      1. branches under development
      2. If testing passed, code review passed
      3. Preferred test location Maybe here?
    6. Record to the deployment database
      1. For each active branch under development or production
      2. Preferred test location Maybe here?.
    7. Create a pull request
    8. Handle approval of pull request
      1. If require coordination with a PAMM, then schedule a job
      2. Deployment database recording of start stop success failure
        1. If successful, remove candidate tag, update issue
        2. if fails, remove entire tag, install the known good tag


Current:

  1. While we wait for kubernetes cluster [EEDSWCM-79] Self-hosted github actions runner - SLAC JIRA (stanford.edu)
  • No labels