-
-
Notifications
You must be signed in to change notification settings - Fork 10
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 Decision Record directory structure and file names #8
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
nav: | ||
- Decision Records: index.md | ||
- ✅ Solutions Adopted: adopted | ||
- ⛔ Not Implemented: not_implemented | ||
- Decisions Records Management: decision-records-management.md |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
|
||
[#2651](https://github.com/hackforla/website/issues/2651) | ||
|
||
#### Problem Statement | ||
|
||
Identifying a linter which can be installed locally so that developers can identify errors before making a PR. | ||
|
||
#### Potential Solution | ||
|
||
Having developers set up [ESLint](https://eslint.org/) on their local machines. | ||
|
||
#### Feasibility Determination | ||
|
||
In order to implement ESLint for standard use, all developers on the team (old and new) would have to individually install it on their local machines, which could be a bit to handle. | ||
|
||
#### Summary | ||
|
||
- Potential linters for use on developers' local machines were researched as requested by issue #2651 and ESLint was suggested as a possible solution, however a decision cannot be made until a spell checker for the repo is decided on so that we can determine compatability. | ||
- If the decision to implement ESLint as the standard local linter were made, we would need to add the files it creates to the main repo; a package.json and .eslintrc.yml config file and we would also have to implement ESLint onto the repo with Github actions so that the repo linter matches everyone's local linter. | ||
- A roll out plan would also need to be developed to ensure that everyone who is actively working and newly working on the website repo knows they need to implement ESLint on their local environments. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,23 @@ | ||
This is a record in the [Decision Records on Solutions Adopted](Decision-Records-on-Solutions-Adopted). | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
### Issue | ||
- [CLASP for Google Apps Scripts development evaluation / decision #3722](https://github.com/hackforla/website/issues/3722) | ||
#### Issue | ||
|
||
### Problem Statement | ||
- The decision had been made to bring Google Apps Scripts into the website GitHub repository, resulting in issue [Add latest version of Google Apps Scripts to GitHub #3641](https://github.com/hackforla/website/issues/3641). In the context of that issue, the suggestion to use clasp was made. | ||
[#3722](https://github.com/hackforla/website/issues/3722) | ||
|
||
#### Problem Statement | ||
|
||
- The decision had been made to bring Google Apps Scripts into the website GitHub repository, resulting in issue [Add latest version of Google Apps Scripts to GitHub #3641](https://github.com/hackforla/website/issues/3641). In the context of that issue, the suggestion to use clasp was made. | ||
- The Apps Script CLI, or clasp, is an npm module with commands to create, edit, and deploy Apps Script projects locally. For Hack for LA, its most useful commands would be clone, pull and push for transferring code modules between Google Drive and the local workstation, to facilitate local editing and committing of code. The tool would provide an alternative to copying/pasting code between Google Drive and the local workstation, which may be feasible for work on our current small codebase, but will become unwieldy if the codebase grows. | ||
|
||
### Feasibility Determination | ||
- Use of clasp is feasible and will provide benefits especially for devs who prefer to edit code in their local IDE, and especially if the codebase were to grow. | ||
- Use of clasp will create a larger learning curve and setup time for new devs, including installation of node.js, npm, clasp, @types/google-apps-script, clasp-env. | ||
- It would be possible to combine clasp with other npm modules such as prettifier, ESLint, Babel and tsgas, to create a custom "build/deploy" module. | ||
#### Feasibility Determination | ||
|
||
### Summary | ||
- Create a new issue [#4134](https://github.com/hackforla/website/issues/4134) to document the new Google Apps Script development process. | ||
- Update existing wins development issues to refer to new wiki page. | ||
- Use of clasp is feasible and will provide benefits especially for devs who prefer to edit code in their local IDE, and especially if the codebase were to grow. | ||
- Use of clasp will create a larger learning curve and setup time for new devs, including installation of node.js, npm, clasp, @types/google-apps-script, clasp-env. | ||
- It would be possible to combine clasp with other npm modules such as prettifier, ESLint, Babel and tsgas, to create a custom "build/deploy" module. | ||
|
||
#### Summary | ||
|
||
- Create a new issue [#4134](https://github.com/hackforla/website/issues/4134) to document the new Google Apps Script development process. | ||
- Update existing wins development issues to refer to new wiki page. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,20 @@ | ||
This is a record in the [Decision Records on Solutions Adopted](Decision-Records-on-Solutions-Adopted). | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
|
||
None | ||
|
||
#### Problem Statement | ||
|
||
How to pass off an issue that needs follow-up by a lead? Also, how to keep track of those issues that need follow-up? | ||
|
||
#### Potential Solution | ||
|
||
- Add a `ready for [INSERT ROLE] lead` label to the issue, such as `ready for dev lead` or `ready for design lead` | ||
- Then, the respective leads will check the `ready for [INSERT ROLE] lead` for their role and follow up with the issue. | ||
|
||
#### Feasibility Determination | ||
This is feasible. Also, it allows a way to pass off an issue that needs follow-up by a lead and it keeps track of issues that still need follow-up by just filtering by the label. | ||
|
||
This is feasible. Also, it allows a way to pass off an issue that needs follow-up by a lead and it keeps track of issues that still need follow-up by just filtering by the label. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,31 +1,34 @@ | ||
This is a record in the [Decision Records on Solutions Adopted](Decision-Records-on-Solutions-Adopted). | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
|
||
**Issue** | ||
* #3678 | ||
* https://github.com/hackforla/website/issues/3678 | ||
[#3678](https://github.com/hackforla/website/issues/3678) | ||
|
||
**Problem Statement** | ||
#### Problem Statement | ||
|
||
Checking to see if the Suggest a guide button has been succesffully hidden. | ||
Checking to see if the Suggest a guide button has been successfully hidden. | ||
|
||
**Potential Solution** | ||
#### Potential Solution | ||
|
||
Using Dockers to check to see if the button has been hidden and the button is still within toolkit.html | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Change |
||
|
||
**Feasibility Determination** | ||
#### Feasibility Determination | ||
|
||
The potential Solution is feasible as the button has been hidden. After reviewing the initial site on the local machine, the button is not displayed. | ||
The potential Solution is feasible as the button has been hidden. After reviewing the initial site on the local machine, the button is not displayed. | ||
 | ||
|
||
[/pages/toolkit.html](https://github.com/hackforla/website/blob/262395c6b76fa0cc2ecc3a6c4d313e96dd1d2346/pages/toolkit.html#L62): | ||
``` | ||
|
||
```html | ||
62 <div class="suggest-guide-group"> | ||
63 <h2 class="external-resources-text title3">External Resources</h2> | ||
64 <!-- The Suggest a resource button has been temporarily hidden until we figure out how this button will function after it's clicked. See issue #3678 for more details. --> | ||
65 <button hidden class="btn btn-primary btn-md-narrow">Suggest a resource</button> | ||
66 </div> | ||
``` | ||
|
||
**Summary:** | ||
|
||
As of Febuary 21st, 2023, the button has been successfully hidden and is not displayed currently. | ||
As of Febuary 21st, 2023, the button has been successfully hidden and is not displayed currently. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,18 @@ | ||
This is a record in the [Decision Records on Solutions Adopted](Decision-Records-on-Solutions-Adopted). | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
[#2485 Update the Program Areas page so the projects are dynamically rendered](https://github.com/hackforla/website/issues/2485) - [comment](https://github.com/hackforla/website/issues/2485#issuecomment-1261579356) regarding the addition of project page links to mini cards. | ||
|
||
#### Issue | ||
|
||
[Comment](https://github.com/hackforla/website/issues/2485#issuecomment-1261579356) on [#2485](https://github.com/hackforla/website/issues/2485) | ||
|
||
#### Problem Statement | ||
Per comment, it was proposed that a list of "good second issues" be made to add the hyperlinks to each of the projects in the .md files. Before this issue's linked pull request, the project names on the mini cards led to their hackforla.org/projects/.. page. After the pull request was merged, the project names led to their respective hackforla github pages. | ||
|
||
Per comment, it was proposed that a list of "good second issues" be made to add the hyperlinks to each of the projects in the .md files. Before this issue's linked pull request, the project names on the mini cards led to their hackforla.org/projects/.. page. After the pull request was merged, the project names led to their respective hackforla github pages. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Change |
||
|
||
#### Adopted Solution | ||
|
||
It was determined there was a more optimized solution. This issue was fixed by the method implemented in issue [#3592 Link projects in program areas page to project page](https://github.com/hackforla/website/issues/3592) and its linked [pull request](https://github.com/hackforla/website/pull/3692). This method involves the following: | ||
|
||
``` | ||
|
@@ -15,6 +21,7 @@ It was determined there was a more optimized solution. This issue was fixed by t | |
``` | ||
|
||
as followed by the [code](https://github.com/hackforla/website/pull/3692/files): | ||
|
||
``` | ||
42 {% for project in site.projects %} | ||
43 {% for project_program in project.program-area %} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
|
||
None | ||
|
||
#### Problem Statement | ||
|
||
In our codebase, we are not consistent with whether we apply an ending slash for img HTML tags. | ||
|
||
Example of code with `<img...>`: | ||
<https://github.com/hackforla/website/blob/706d7ce3628f9958cda525201c7c444d3d57d21b/pages/404.html#L12> | ||
|
||
Example of code with `<img.../>` | ||
<https://github.com/hackforla/website/blob/706d7ce3628f9958cda525201c7c444d3d57d21b/pages/donate.html#L18> | ||
|
||
#### Potential Solution | ||
|
||
Use the img HTML tag without an ending slash meaning <img...> (Source 1). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Put <img...> in backticks otherwise it doesn't show up on the page since it is read as an actual tag. See line 13 in this file for an example of <img...> in backticks. |
||
|
||
#### Feasibility Determination | ||
|
||
This is feasible because we only use HTML. An ending slash in an img tag is needed for XHTML and XML (Source 2), which we don't use. | ||
|
||
#### Sources | ||
|
||
1. <https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element> | ||
2. <https://stackoverflow.com/a/15149657> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,30 @@ | ||
This is a record in the [Decision Records on Solutions Adopted](Decision-Records-on-Solutions-Adopted). | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
- [#2065](https://github.com/hackforla/website/pull/3414) | ||
#### Issue | ||
|
||
[#2065](https://github.com/hackforla/website/pull/3414) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The link is confusing. Change it to
|
||
|
||
#### Problem Statement | ||
Updating out-of-date dependencies of GHA using Github Dependabot. | ||
|
||
Updating out-of-date dependencies of GHA using Github Dependabot. | ||
|
||
#### Potential Solution | ||
Our GHA are not latest version and hence we need to be notified when dependencies are out-of-date so that they don't break unexpectedly. The issue [#2065](https://github.com/hackforla/website/pull/3414) was created to check for updates to GHA at timed interval i.e. one week. | ||
|
||
But now Github Dependabot was updated to give out alerts for vulnerable GHA to stay up-to-date and fix security vulnerabilities in the actions | ||
workflow. It is powered by Github Advisory Database which will create an advisory to document the vulnerability when it is encountered in an | ||
action, triggering an alert for the impacted repository. | ||
|
||
Pull requests raised by Dependabot to update dependencies is in accordance with how the repository is configured i.e., version updates and/or | ||
Our GHA are not latest version and hence we need to be notified when dependencies are out-of-date so that they don't break unexpectedly. The issue [#2065](https://github.com/hackforla/website/pull/3414) was created to check for updates to GHA at timed interval i.e. one week. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
But now Github Dependabot was updated to give out alerts for vulnerable GHA to stay up-to-date and fix security vulnerabilities in the actions | ||
workflow. It is powered by Github Advisory Database which will create an advisory to document the vulnerability when it is encountered in an | ||
action, triggering an alert for the impacted repository. | ||
|
||
Pull requests raised by Dependabot to update dependencies is in accordance with how the repository is configured i.e., version updates and/or | ||
security updates and can be managed as other PRs but with extra commands which can be referred to [here](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates). | ||
|
||
#### Feasibility Determination | ||
|
||
Advantages for using GHA Dependabot: | ||
|
||
- As Github Advisory Database powers Dependabot alerts for the impacted GH repository, so no additional action needs to be performed after Dependabot is enabled which has been done . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
- Dependabot alert makes it easier to stay up-to-date and can be managed similar to other PRs ,thus eliminating the need for issue [#2065](https://github.com/hackforla/website/pull/3414). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
|
@@ -29,9 +36,3 @@ Related Links: | |
- [Configuring dependabot version updates](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates) | ||
- [Managing pull requests for dependency updates](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates) | ||
- [About dependabot alerts](https://github.blog/2022-08-09-dependabot-now-alerts-for-vulnerable-github-actions/#dependabot-alerts-for-github-actions) | ||
|
||
|
||
|
||
*** | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,30 @@ | ||
This is a record in the [Decision Records on Solutions Adopted](Decision-Records-on-Solutions-Adopted). | ||
--- | ||
status: ✅ Adopted | ||
--- | ||
|
||
#### Issue | ||
|
||
None | ||
|
||
#### Problem Statement | ||
Over time, feature branches become out of date with the code in the gh-pages branch. After updating the feature branch as outlined in steps [A. Updating a feature branch with changes from gh-pages](How-to-update-a-feature-branch-with-changes-from-gh-pages#a-updating-a-feature-branch-with-changes-from-gh-pages) and [B. Opening a pull request](How-to-update-a-feature-branch-with-changes-from-gh-pages#b-opening-a-pull-request) from [How to update a feature branch with changes from gh pages](How-to-update-a-feature-branch-with-changes-from-gh-pages) wiki page, we need to figure out the best way to merge an "update the feature branch" pull request into the feature branch. (An "update the feature branch" pull request means a pull request that is opened for updating a feature branch with changes from gh-pages branch.) | ||
|
||
Over time, feature branches become out of date with the code in the gh-pages branch. After updating the feature branch as outlined in steps [A. Updating a feature branch with changes from gh-pages](https://github.com/hackforla/website/wiki/How-to-update-a-feature-branch-with-changes-from-gh-pages#a-updating-a-feature-branch-with-changes-from-gh-pages) and [B. Opening a pull request](https://github.com/hackforla/website/wiki/How-to-update-a-feature-branch-with-changes-from-gh-pages#b-opening-a-pull-request) from [How to update a feature branch with changes from gh pages](https://github.com/hackforla/website/wiki/How-to-update-a-feature-branch-with-changes-from-gh-pages) wiki page, we need to figure out the best way to merge an "update the feature branch" pull request into the feature branch. (An "update the feature branch" pull request means a pull request that is opened for updating a feature branch with changes from gh-pages branch.) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
|
||
#### Potential Solution | ||
Merging an "update the feature branch" pull request into the feature branch using **"Create a merge commit"** option. For how to do it, see [D. (TECH LEADS ONLY) Merge the pull request into the feature branch with "Create a Merge Commit"](How-to-update-a-feature-branch-with-changes-from-gh-pages#d-tech-leads-only-merge-the-pull-request-into-the-feature-branch-with-create-a-merge-commit) from [How to update a feature branch with changes from gh pages](How-to-update-a-feature-branch-with-changes-from-gh-pages) wiki page. | ||
|
||
Merging an "update the feature branch" pull request into the feature branch using **"Create a merge commit"** option. For how to do it, see [D. (TECH LEADS ONLY) Merge the pull request into the feature branch with "Create a Merge Commit"](https://github.com/hackforla/website/wiki/How-to-update-a-feature-branch-with-changes-from-gh-pages#d-tech-leads-only-merge-the-pull-request-into-the-feature-branch-with-create-a-merge-commit) from [How to update a feature branch with changes from gh pages](https://github.com/hackforla/website/wiki/How-to-update-a-feature-branch-with-changes-from-gh-pages) wiki page. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The links in this paragraph need to be updated to link to the MkDocs documentation instead of the old wiki. Though, I'm not sure if you are ready to do this yet or if you plan on doing it later because I don't know what your plan is for changing links pointing to the old wiki to the new wiki. |
||
|
||
#### Feasibility Determination | ||
There are advantages and disadvantages of using **"Create a merge commit"** option when merging an "update the feature branch" pull request into the feature branch. | ||
|
||
There are advantages and disadvantages of using **"Create a merge commit"** option when merging an "update the feature branch" pull request into the feature branch. | ||
The disadvantages are: | ||
|
||
- There will be two additional commits for each update: | ||
- INCLUDE WHAT THESE ARE AND WHERE THEY ARE FROM | ||
- | ||
|
||
The advantages are: | ||
|
||
- The history of contributors and commit ids for each individual file stays the same as the ones in gh-pages branch, which makes it easier to understand the code when trying to figure out the history of changes to a file. | ||
- Eventually, when the feature branch is ready, the feature branch will be merged into the gh-pages branch. By using **"Create a merge commit"** to merge the pull requests to update the feature branch, any merge conflicts that were resolved will remain resolved, which isn't the case if "Squash and merge" was used. | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change the colon in
main repo; a package.json and .eslintrc.yml
to a comma so the result ismain repo, a package.json and .eslintrc.yml
. The punctuation didn't make sense to me with the colon, so I think it is supposed to be a comma.