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 preliminary-update-comment.js to use label-directory.json #7534

Open
13 tasks
Tracked by #6454
t-will-gillis opened this issue Sep 28, 2024 · 1 comment
Open
13 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 preliminary-update-comment.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.

  • Create a branch called PUD-test in your repo and demonstrate the current, correct behavior of the "Issue Trigger" GHA.
  • Create an additional branch called PUD-new - this is the branch where you will make the changes and submit a PR from.
  • Open the preliminary-update-comment.js file
  • A preliminary search found that this file uses the following labels.
    • Ready for Prioritization
    • feature: agenda
    • Complexity: Prework
    • Draft
  • Confirm that this list is correct, and note any additions or subtractions as needed in a comment below
  • Add to // Import modules:
    const retrieveLabelDirectory = require('../../utils/retrieve-label-directory');
    
  • Find and delete the line const READY_FOR_PRIORITIZATION = "Ready for Prioritization"; and
  • Add a blank line then 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 [
      readyForPrioritization,
      featureAgenda,
      complexity0,
      draft
    ] = [
      “readyForPrioritization",
      "featureAgenda",
      "complexity0",
      "draft"
    ].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 resolved.

@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