Skip to content

Commit 15cd29e

Browse files
hfla-workflow-rollout[bot]hfla-workflow-rollout[bot]t-will-gillis
authored
Install workflow: Add Update Label Weekly (#8436)
* Install Add Update Label Weekly and project-specific files * Update repository name and action version in workflow * Update Slack channel in workflow config * Update add-update-label-weekly.yml * Delete target/github-actions/workflow-configs/_data/label-directory.json * Create label-directory.json moved label-directory.json to correct foler * Revise path to `gha-` + action, and use major version tag * Delete github-actions/workflow-configs/_data/label-directory.json Latest revision edited the logic so that the project PMs only need to edit the main config file- i.e. the label-directory.json is no longer part of this workflow * Update add-update-instructions-template.md updated to latest version, v0.7.0 * Update add-update-label-weekly-config.yml updated to v0.7.0 * Update add-update-label-weekly.yml update to v0.7.0 * Update comments and label names in workflow config * Update label names and project board statuses Edited config values to match website's * Update GitHub Actions workflow for weekly label updates readying for going live --------- Co-authored-by: hfla-workflow-rollout[bot] <hfla-workflow-rollout@hackforla.org> Co-authored-by: Will Gillis <40799239+t-will-gillis@users.noreply.github.com>
1 parent d2b9182 commit 15cd29e

3 files changed

Lines changed: 218 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Add Update Label Weekly - ATO
2+
3+
# Associated configuration files for this workflow:
4+
# `github-actions/workflow-configs/add-update-label-weekly-config.yml`
5+
# `github-actions/workflow-configs/templates/add-update-instructions-template.md`
6+
# Customization notes:
7+
# Change cron as needed- currently runs Fri 0700 UTC, exc. July and December
8+
# ⮡ You can compose a schedule here: https://crontab.cronhub.io/
9+
10+
on:
11+
schedule:
12+
- cron: '0 7 * 1-6,8-11 5'
13+
workflow_dispatch:
14+
inputs:
15+
dry-run:
16+
description: 'Run in dry-run mode to preview changes- will not update labels or comments.'
17+
type: choice
18+
options:
19+
- 'true'
20+
- 'false'
21+
default: 'true'
22+
23+
jobs:
24+
Add-Update-Label-Weekly:
25+
runs-on: ubuntu-latest
26+
if: github.repository == 'hackforla/website'
27+
steps:
28+
- name: Generate token from GitHub App
29+
id: generate-app-token
30+
uses: actions/create-github-app-token@v2
31+
with:
32+
app-id: ${{ secrets.HFLA_GRAPHQL_APP_ID }}
33+
private-key: ${{ secrets.HFLA_GRAPHQL_APP_PRIVATE_KEY }}
34+
35+
- name: Checkout repository
36+
uses: actions/checkout@v6
37+
38+
- name: Run workflow
39+
uses: hackforla/automate-the-org/gha-add-update-label-weekly@v1
40+
with:
41+
github-token: ${{ steps.generate-app-token.outputs.token }}
42+
dry-run: ${{ github.event.inputs.dry-run || 'true' }}
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# "Add Update Label Weekly" workflow configuration file
2+
# File installed at: `github-actions/workflow-configs/add-update-label-weekly-config.yml`
3+
4+
# ==============================================================================
5+
# IMPORTANT NOTES
6+
# ==============================================================================
7+
#
8+
# 1. The configuration options are given as "key: value" pairs.
9+
# a. Customize the "values" below for your project's needs.
10+
# b. DO NOT EDIT "keys" as this may break the automation.
11+
# c. DO NOT CHANGE indentation, spacing, or formatting for same reason.
12+
# 2. Text values must match the EXACT text used in your project repo.
13+
# 3. The default values will apply if not edited, and the workflow will attempt
14+
# to run with those defaults. It is recommended to review and edit all values.
15+
16+
17+
18+
# ==============================================================================
19+
# Labels and label placeholders used by this workflow
20+
# ==============================================================================
21+
#
22+
# The `required` section is a list of label placeholder keys, identifiers used
23+
# in the workflow to reference GitHub repo labels. These placeholder label
24+
# keys are essential for the workflow to function and must be mapped to the
25+
# **actual label names** that exist in your project. Do not change the label
26+
# keys, however **do edit** the name values (in quotes) to match your project's
27+
# labels. The `required` labels are:
28+
#
29+
# statusUpdated: "label for issues considered current"
30+
# statusInactive1: "label for issues needing updates"
31+
# statusInactive2: "label for issues considered inactive"
32+
# statusHelpWanted: "label for issues where assignees need help"
33+
#
34+
# The `filtering` section is a list of labels that, when present on an issue,
35+
# tell the workflow to omit that issue from the update status checks. In other
36+
# words, if there is any issue that you want to exclude from the update checks
37+
# (for example, a draft issue), label it with one of the 'filtering' labels and
38+
# the workflow will skip the issue.
39+
#
40+
# The label names shown below are default values only. Each of the label names
41+
# shown **must exactly match an existing label** in your project repo, and must
42+
# be surrounded in quotes. Confirm that the default value is correct, or change
43+
# it to match your repo, then to show that you have reviewed and confirmed the
44+
# values, **delete the comment**.
45+
46+
labels:
47+
required:
48+
statusUpdated: "status: Updated"
49+
statusInactive1: "status: To Update!"
50+
statusInactive2: "status: 2 Weeks Inactive"
51+
statusHelpWanted: "status: Help Wanted"
52+
53+
filtering:
54+
- "Draft"
55+
- "ER"
56+
- "epic"
57+
- "Dependency"
58+
- "Complexity: Prework"
59+
# - ""
60+
61+
62+
63+
# ==============================================================================
64+
# Time thresholds (in days)
65+
# ==============================================================================
66+
#
67+
# The time thresholds shown are used to classify issues based on the timestamp
68+
# of the assignee's last update. Adjust these values to fit your project's needs.
69+
# Note that the following values must be ordered from smallest to largest:
70+
#
71+
# recentlyUpdatedByDays: Issues updated within this many days are considered current
72+
# needsUpdatingByDays: Issues not updated for this many days are prompted for update
73+
# isInactiveByDays: Issues not updated for this many days are marked as inactive
74+
#
75+
# upperLimitDays: Bot comments older than this not processed for minimization
76+
77+
timeframes:
78+
recentlyUpdatedByDays: 3
79+
needsUpdatingByDays: 7
80+
isInactiveByDays: 14
81+
82+
upperLimitDays: 35
83+
84+
# To reduce issue clutter and repetition, this workflow minimizes previous bot
85+
# comments via a GraphQL mutation. To limit GitHub GraphQL rate usage, only bot
86+
# comments created between `isInactiveByDays` and `upperLimitDays` ago are
87+
# processed. Adjust this value to include greater or fewer comments.
88+
#
89+
# Refer to "Bot configuration" below to set the bot username (if needed).
90+
91+
92+
93+
# ==============================================================================
94+
# Project Board status-column configuration
95+
# ==============================================================================
96+
#
97+
# The workflow only checks issues that are in the specified `targetStatus`
98+
# status-column of your Project Board. The `questionsStatus` status-column
99+
# allows assignees to opt out of checks when they need help or review.
100+
#
101+
# Values must **exactly match your Project Board status-column names**.
102+
#
103+
# targetStatus: Required for inclusion in update checks
104+
# questionsStatus: Optional; assignees may move issues here to skip checks
105+
106+
projectBoard:
107+
targetStatus: "In progress (actively working)"
108+
questionsStatus: "Questions / In Review"
109+
110+
111+
112+
113+
# ==============================================================================
114+
# Bot configuration- If needed
115+
# ==============================================================================
116+
#
117+
# Relevant to "timeframes.upperLimitDays" setting above, repetitive comments
118+
# from bots with the following usernames are processed for minimization. Only
119+
# if needed, this value can be updated to ensure bot comments are minimized.
120+
121+
bots:
122+
- "github-actions[bot]"
123+
- "HackforLABot"
124+
125+
126+
127+
# ==============================================================================
128+
# Bot comment template
129+
# ==============================================================================
130+
#
131+
# Template for the comment posted to issues needing updates. Ref. relevant labels,
132+
# project board status-column configuration, etc. above. See template tile:
133+
# `github-actions/workflow-configs/templates/add-update-instructions-template.md`
134+
#
135+
# Variables used by template:
136+
# ${assignees} - @-mentions of all assignees (e.g., "@user1, @user2")
137+
# ${label} - The label being applied (e.g., "Status: To Update")
138+
# ${statusUpdated} - The "updated" label name from your label directory
139+
# ${statusHelpWanted} - The "help wanted" label name from your label directory
140+
# ${questionsStatus} - The "questions" status on your Project Board (e.g., "Questions / In Review")
141+
# ${cutoffTime} - The formatted timestamp of the issue's last update
142+
143+
teamSlackChannel: "hfla-site" # Only if needed, for example "#project-site"
144+
145+
146+
147+
# ==============================================================================
148+
# Advanced options
149+
# ==============================================================================
150+
#
151+
# Local timezone for cutoffTime displayed in comments. (default: America/Los_Angeles)
152+
# Uncomment and configure only if a different timezone is needed.
153+
#
154+
# timezone: "America/Los_Angeles"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!-- Message template used with the "Add Update Label Weekly" workflow -->
2+
<!-- This file to be installed at: `github-actions/workflow-configs/templates/add-update-instructions-template.md` -->
3+
4+
Hello ${assignees}-
5+
6+
Please add an update using the below template (even if you have a pull request). Afterwards, remove
7+
the `${label}` label and add the `${statusUpdated}` label.
8+
9+
1. Progress: What is the current status of this issue? What have you completed and what is left to do?
10+
2. Blockers: Explain any difficulties or errors encountered.
11+
3. Availability: How much time will you have this week to work on this issue?
12+
4. ETA: When do you expect this issue to be completed?
13+
5. Pictures (optional): Add any pictures of the visual changes made to the site so far.
14+
15+
If you need help, be sure to either: 1) place your issue in the "${questionsStatus}" status-column of the
16+
Project Board and ask for help at your next meeting; 2) put a `${statusHelpWanted}` label on your issue
17+
and pull request; or 3) put up a request for assistance on the team's ${teamSlackChannel} Slack channel.
18+
19+
Please note that including your questions in the issue comments- along with screenshots, if applicable-
20+
will help us to help you. [Here](https://github.com/hackforla/website/issues/1619#issuecomment-897315561) and [here](https://github.com/hackforla/website/issues/1908#issuecomment-877908152) are examples of well-formed questions.
21+
22+
<sub>You are receiving this comment because your last update was before ${cutoffTime} PST.</sub>

0 commit comments

Comments
 (0)