Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor GHA check-label-preliminary-update to use label-directory.json #7533

Open
10 tasks
Tracked by #6454
t-will-gillis opened this issue Sep 28, 2024 · 1 comment
Open
10 tasks
Tracked by #6454
Labels
Complexity: Large Feature: Refactor GHA Refactoring GitHub actions to fit latest architectural norms ready for product role: back end/devOps Tasks for back-end developers size: 5pt Can be done in 19-30 hours

Comments

@t-will-gillis
Copy link
Member

t-will-gillis commented Sep 28, 2024

Overview

We want to refactor the GHA workflows to reference each label by a general ID (i.e. a 'labelKey') rather than the label's name so that other HfLA project groups can use these workflows without needing to match the label names used by the Website team.

Details

Currently, the GHA workflows files that add, remove, and change labels on issues identify each label by its name (i.e. the 'labelName') directly. Instead of hard-coding each label name, we want these files to identify each label by its 'labelKey' and use the retrieve-label-directory.js module to look up the corresponding 'labelName' that is needed in order for the REST API to apply labels to issues.

Action Items

This issue involves specifically the check-label-preliminary-update.js function of the "Issue Trigger" GitHub Action, and you must set up your environment for testing GHAs in order to work on this issue. See notes below in "Resources/ Instructions", and ask questions if you need additional help- GHAs can be tricky, and if you get stuck somewhere, someone who has worked on these before might have information that will save you a lot of time.

  • Before making any of the edits following, first create a test branch in your repo and demonstrate the current, correct behavior of the "Issue Trigger" GHA. Afterwards, create an additional branch for the edits following- this is the branch that will be attached to the PR.

Refer to check-label-preliminary-update.

  • A preliminary search found that this file uses the following labels. As you work through this issue, confirm that this list is correct, and note any additions or subtractions as needed:

    • role: front end
    • role: back end/devOps
    • role: design
    • role: user research
  • Replace:

    // Global variables
    var github 
    var context
    

    with:

    // Import modules
    const retrieveLabelDirectory = require('../../utils/retrieve-label-directory');
    
    // Global variables
    var github 
    var context
    
  • Then add a new line, and on the next add comment:

    // Use labelKeys to retrieve current labelNames from directory
    

    then for each label, consult label-directory.json and replace labelName with the labelKey:

    const [
      roleFrontEnd,
      roleBackEndDevOps,
      roleDesign,
      roleUserResearch
    ] = [
      “roleFrontEnd”,
      “roleBackEndDevOps”,
      “roleDesign”,
      “roleUserResearch”,
    ].map(retrieveLabelDirectory);
    
  • Search the code for instances of the original label name and substitute the defined above.

  • Prior to submitting the PR, search for all code comment that reference a specific label name

    • List these instances out in a comment on this issue, with your suggestion for replacement text that generalizes it.
    • When finished, add the label ready for product and change status to "Questions / In Review"
    • Product will review and provide feedback on replacement text for revision or sign-off on changes.
  • Perform a test in your own repo that demonstrates that there is no change to the GHA's functionality after making the edits.

Resources/Instructions

@t-will-gillis t-will-gillis added Complexity: Large Draft Issue is still in the process of being created Feature: Refactor GHA Refactoring GitHub actions to fit latest architectural norms role: back end/devOps Tasks for back-end developers size: 5pt Can be done in 19-30 hours labels Sep 28, 2024
@t-will-gillis t-will-gillis added this to the 08. Team workflow milestone Sep 28, 2024
@t-will-gillis t-will-gillis self-assigned this Sep 28, 2024
@HackforLABot

This comment was marked as outdated.

@t-will-gillis t-will-gillis removed their assignment Oct 26, 2024
@t-will-gillis t-will-gillis added Ready for Prioritization and removed Draft Issue is still in the process of being created labels Oct 26, 2024
@t-will-gillis t-will-gillis added Draft Issue is still in the process of being created ready for product and removed Ready for Prioritization Draft Issue is still in the process of being created labels Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Large Feature: Refactor GHA Refactoring GitHub actions to fit latest architectural norms ready for product role: back end/devOps Tasks for back-end developers size: 5pt Can be done in 19-30 hours
Projects
Status: New Issue Approval
Development

No branches or pull requests

2 participants