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-labels.js to use label-directory.json #7531

Open
8 of 11 tasks
Tracked by #6454
t-will-gillis opened this issue Sep 28, 2024 · 5 comments · May be fixed by #7777
Open
8 of 11 tasks
Tracked by #6454

Refactor GHA check-labels.js to use label-directory.json #7531

t-will-gillis opened this issue Sep 28, 2024 · 5 comments · May be fixed by #7777
Assignees
Labels
Complexity: Large 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

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-labels.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-labels.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:

    • size: missing
    • Feature Missing
    • Complexity: Missing
    • role missing
    • good first issue
    • Complexity: Small
    • ready for dev lead
    • Feature: Administrative
    • size: 0.25pt
    • role: dev leads
  • Add to // Import modules:

    const retrieveLabelDirectory = require('../../utils/retrieve-label-directory');
    
  • Before the current definition of the hard labels around line 13, 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 [
      sizeMissing,
      featureMissing,
      complexityMissing,
      roleMissing,
      complexity1,
      complexity2,
      readyForDevLead,
      featureAdministration,
      size025pt,
      roleDevLeads
    ] = [
      "sizeMissing",
      "featureMissing",
      "complexityMissing",
      "roleMissing",
      "complexity1",
      "complexity2",
      "readyForDevLead",
      "featureAdministration",
      "size025pt",
      "roleDevLeads"
    ].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.
  • Refactor mutate-issue-status.js and move/ consolidate hard-coded HfLA node values to status-field-ids.js

  • 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 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 self-assigned this Nov 4, 2024
@t-will-gillis t-will-gillis moved this from New Issue Approval to Prioritized backlog in P: HfLA Website: Project Board Nov 4, 2024
@HackforLABot

This comment has been minimized.

@ExperimentsInHonesty ExperimentsInHonesty moved this from Prioritized backlog to New Issue Approval in P: HfLA Website: Project Board Nov 8, 2024
@ExperimentsInHonesty ExperimentsInHonesty moved this from New Issue Approval to In progress (actively working) in P: HfLA Website: Project Board Nov 8, 2024
@HackforLABot HackforLABot added the To Update ! No update has been provided label Nov 15, 2024
@HackforLABot

This comment was marked as outdated.

@HackforLABot HackforLABot removed the To Update ! No update has been provided label Nov 22, 2024
@HackforLABot

This comment was marked as outdated.

@HackforLABot HackforLABot added the 2 weeks inactive An issue that has not been updated by an assignee for two weeks label Nov 22, 2024
@t-will-gillis t-will-gillis removed the 2 weeks inactive An issue that has not been updated by an assignee for two weeks label Nov 27, 2024
@t-will-gillis
Copy link
Member Author

Plan to submit by 11/30

@t-will-gillis t-will-gillis linked a pull request Nov 28, 2024 that will close this issue
5 tasks
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 role: back end/devOps Tasks for back-end developers size: 5pt Can be done in 19-30 hours
Projects
Status: In progress (actively working)
Development

Successfully merging a pull request may close this issue.

2 participants