Skip to content

Enhance GHA check-complexity-eligibility.js to use label-directory.json #7535

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

Closed
10 of 12 tasks
Tracked by #6454
t-will-gillis opened this issue Sep 28, 2024 · 6 comments · Fixed by #8037
Closed
10 of 12 tasks
Tracked by #6454

Enhance GHA check-complexity-eligibility.js to use label-directory.json #7535

t-will-gillis opened this issue Sep 28, 2024 · 6 comments · Fixed by #8037
Assignees
Labels
Complexity: Large Lang: GHA GitHub Actions role: back end/devOps Tasks for back-end developers size: 5pt Can be done in 19-30 hours Skill: enhance

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-complexity-eligibility.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-complexity-eligibility.js.

  • 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:

    • ER
    • epic
    • role: front end
    • role: back end/devOps
    • Complexity: Prework,
    • good first issue
    • Complexity: Small
    • Complexity: Medium
  • Insert on the very first line the comment: // Import modules

  • Then insert this module after const fs = require('fs');

    const retrieveLabelDirectory = require('../../utils/retrieve-label-directory');
    
  • Add a space after the Import modules block, then insert the comment:

    // Use labelKeys to retrieve current labelNames from directory
    

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

    const [
      er,
      epic,
      roleFrontEnd,
      roleBackEndDevOps,
      complexity0,
      complexity1,
      complexity2,
      complexity3,
      statusUnassignedByBot,
    ] = [
      “er”,
      “epic”, 
      “roleFrontEnd”,
      “roleBackEndDevOps”,
      "complexity0",
      "complexity1",
      "complexity2",
      "complexity3",
      "statusUnassignedByBot",
    ].map(retrieveLabelDirectory);
    
  • Consolidate requiredRoleLabels, requiredComplexityLabels, exceptionLabels with label assignments

  • 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 has been minimized.

@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 removed their assignment 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
@ExperimentsInHonesty ExperimentsInHonesty moved this from New Issue Approval to In progress (actively working) in P: HfLA Website: Project Board Jan 21, 2025
@ExperimentsInHonesty ExperimentsInHonesty moved this from In progress (actively working) to Prioritized backlog in P: HfLA Website: Project Board Jan 21, 2025
@t-will-gillis t-will-gillis self-assigned this Feb 23, 2025
@HackforLABot

This comment has been minimized.

@t-will-gillis t-will-gillis moved this from Prioritized backlog to In progress (actively working) in P: HfLA Website: Project Board Feb 23, 2025
@HackforLABot

This comment has been minimized.

@HackforLABot HackforLABot added the To Update ! No update has been provided label Mar 7, 2025
@ExperimentsInHonesty ExperimentsInHonesty added Lang: GHA GitHub Actions Skill: refactor and removed Feature: Refactor GHA Refactoring GitHub actions to fit latest architectural norms labels Mar 11, 2025
@ExperimentsInHonesty ExperimentsInHonesty changed the title Refactor GHA check-complexity-eligibility.js to use label-directory.json Enhance GHA check-complexity-eligibility.js to use label-directory.json Mar 11, 2025
@HackforLABot

This comment has been minimized.

@HackforLABot

This comment has been minimized.

@HackforLABot

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Large Lang: GHA GitHub Actions role: back end/devOps Tasks for back-end developers size: 5pt Can be done in 19-30 hours Skill: enhance
Projects
Development

Successfully merging a pull request may close this issue.

3 participants