hackforla / automate-the-org

This repo is for creating an discussing github automation inside our organization
0 stars 2 forks source link

GitHub Actions Migration Process Proposal #10

Open Aveline-art opened 1 year ago

Aveline-art commented 1 year ago

Overview

In order to migration our GitHub Actions from a repo level to a org level, we need to figure out how this process will work. For this issue, we will create, review, and approve a proposal for this migration.

Action Items

Resources/Instructions

Aveline-art commented 1 year ago

GitHub Actions Migration Process Proposal

Introduction

This proposal describes the process in which we will migrate our existing GitHub actions scattered across multiple HfLA repos. These actions should, ideally, exist in a centrally maintained place where they can be disseminated across multiple projects.

This proposal has several sections:

Development

Most of the actions at HfLA are used for project management and as such follow a highly predictable template. Therefore to develop our existing actions as repo-based actions, we need to:

  1. Use a starter template with all the boilerplate needed for an optimal dev environment
  2. The preexisting actions code is copied over
  3. The copied code is refactored to fit the repo-based actions framework
  4. Tests are added to the code
  5. An org-level workflow template is created to disseminate the action
  6. The action is documented in its own repository's readme with dev specific info
  7. The action is documented in a central website with installation specific info

Project Management

Since these migrated actions will be slightly different than the repos we are sourcing them from, we need to utilize a process that can properly quality control them. These are the steps in which these actions will be created and assessed.

  1. Project Review: Every existing action of interest will be reviewed on what they should ideally do, which could be exactly the same as it currently is. At this stage, we will create criteria for acceptance.
  2. Development: A developer takes our requirements and the existing code, and create it as outlined in the "Development" section.
  3. Code Review: A second developer reviews the body of work that makes up this action, including the code, documentation, and org-level template.
  4. Alpha/Beta Release: The action is released as an alpha/beta version.
  5. Live Trial: The source of the action will migrate to use the repo-based action, and tested to ensure the action's quality.
  6. Release: The action is released as a first version.

Requirements

The following are the setup and requirements we need to start this migration process.

Development

Project Management

Lingering Questions

My recommendations, in no specific order

Some Links

ExperimentsInHonesty commented 1 year ago

@Aveline-art do you have any changes/updates to the proposal based on the actions we took last time we meet?

Aveline-art commented 1 year ago

@ExperimentsInHonesty Not really. The usage of the .github repo was within what was expected by the proposal.

I did make the .github repo, with all the support files that are integrated with Github as well as a demo of workflow templates.