-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #105 from DSACMS/dev
Merging Dev to Main
- Loading branch information
Showing
18 changed files
with
316 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
tier2/{{cookiecutter.project_slug}}/.github/workflows/contributors.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
workflow_dispatch: | ||
|
||
jobs: | ||
update-contributors: | ||
runs-on: ubuntu-latest | ||
name: Update contributors info in MAINTAINERS.md | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
# Update contributor list | ||
- name: Contribute List | ||
uses: akhilmhdh/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
# https://github.com/marketplace/actions/contribute-list#optional-parameters | ||
readme_path: MAINTAINERS.md | ||
use_username: false | ||
commit_message: "BOT: Update contributors info in MAINTAINERS.md" | ||
|
||
# Update contributor count | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Pull changes from contributors-readme-action | ||
run: | | ||
git pull | ||
- name: Get repository contributors count | ||
id: get_contributors | ||
# https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-repository-contributors | ||
# https://docs.github.com/en/graphql/reference/objects#repositorycollaboratorconnection | ||
# https://docs.github.com/en/graphql/guides/forming-calls-with-graphql#communicating-with-graphql | ||
# CANNOT have newlines! | ||
run: | | ||
OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1) | ||
REPO=$(echo $GITHUB_REPOSITORY | cut -d'/' -f2) | ||
QUERY='query { repository(owner: \"'"$OWNER"'\", name: \"'"$REPO"'\") { collaborators { totalCount } } }' | ||
CONTRIBUTORS=$(curl -s -X POST -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -H "Content-Type: application/json" -d "{\"query\": \"$QUERY\"}" https://api.github.com/graphql | jq -r '.data.repository.collaborators.totalCount') | ||
echo "Total contributors: $CONTRIBUTORS" | ||
echo "contributors=$CONTRIBUTORS" >> $GITHUB_OUTPUT | ||
- name: Replace slug in MAINTAINERS.md with number of contributors | ||
# https://stackoverflow.com/questions/10613643/replace-a-unknown-string-between-two-known-strings-with-sed | ||
run: | | ||
CONTRIBUTORS=${{ steps.get_contributors.outputs.contributors }} | ||
sed -i 's/<!--CONTRIBUTOR COUNT START-->.*<!--CONTRIBUTOR COUNT END-->/<!--CONTRIBUTOR COUNT START--> '"$CONTRIBUTORS"' <!--CONTRIBUTOR COUNT END-->/g' MAINTAINERS.md | ||
- name: Commit and push changes | ||
# https://github.com/orgs/community/discussions/26560#discussioncomment-3531273 | ||
# commit changes, but if no changes exist, then exit cleanly | ||
run: | | ||
git config user.name 'github-actions[bot]' | ||
git config user.email 'github-actions[bot]@users.noreply.github.com' | ||
git add MAINTAINERS.md | ||
git commit -m "BOT: Update contributors info in MAINTAINERS.md" || exit 0 | ||
git push |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,32 @@ | ||
# Code Owners | ||
<!-- TODO: Who are the points of contact in your project who are responsible/accountable for the project? This can often be an engineering or design manager or leader, who may or may not be the primary maintainers of the project. List them by GitHub Username--> | ||
{usernames of code owners} | ||
{% set code_owners = cookiecutter.code_owners.split(',') %} | ||
{% for item in code_owners %}- {{ item }} | ||
{% endfor %} | ||
|
||
# Repo Domains | ||
<!-- TODO: List out the various domains of the project or teams of owners for that domain (e.g. Frontend, Backend, Documentation)--> | ||
documentation/* {usernames of documentation owners} | ||
frontend/* {usernames of frontend owners} | ||
## Repo Domains | ||
|
||
<!-- | ||
The Repo Domains section of your CODEOWNERS.md file helps manage code review responsibilities efficiently. Each domain represents a different aspect of the repository, such as documentation, frontend, backend, DevOps, testing, etc. In this section, list each domain and assign the appropriate GitHub usernames or teams responsible for that domain. This ensures that pull requests (PRs) are reviewed by the right experts, maintaining high code quality and relevance. | ||
For example: | ||
/docs/ @doc-team @johnsmith @janedoe | ||
/frontend/ @frontend-team @alice @bob | ||
/backend/ @backend-team @charlie @dana | ||
Furthermore, GitHub teams are a good feature for managing groups of contributors who need to be notified about specific domains within a repository. By creating and using GitHub teams, you can allow contributors to ping multiple relevant experts simultaneously. | ||
To set up GitHub teams: | ||
- Navigate to your organization's settings and select "Teams". | ||
- Create a new team for each domain, such as @frontend-team, @backend-team, or @doc-team. | ||
- Add the relevant members to each team. Ensure that the team includes all the individuals who should be notified about PRs in their domain. | ||
- When filling out the Repo Domains section in your CODEOWNERS.md file, use the team handles instead of or alongside individual usernames. This way, when a contributor opens a PR affecting a specific domain, they can simply tag the team, and every member of that team will be notified. | ||
--> | ||
|
||
/docs/ {Git usernames of documentation owners} | ||
/frontend/ {Git usernames of frontend owners} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
tier3/{{cookiecutter.project_slug}}/.github/workflows/contributors.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
workflow_dispatch: | ||
|
||
jobs: | ||
update-contributors: | ||
runs-on: ubuntu-latest | ||
name: Update contributors info in MAINTAINERS.md | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
# Update contributor list | ||
- name: Contribute List | ||
uses: akhilmhdh/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
# https://github.com/marketplace/actions/contribute-list#optional-parameters | ||
readme_path: MAINTAINERS.md | ||
use_username: false | ||
commit_message: "BOT: Update contributors info in MAINTAINERS.md" | ||
|
||
# Update contributor count | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Pull changes from contributors-readme-action | ||
run: | | ||
git pull | ||
- name: Get repository contributors count | ||
id: get_contributors | ||
# https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-repository-contributors | ||
# https://docs.github.com/en/graphql/reference/objects#repositorycollaboratorconnection | ||
# https://docs.github.com/en/graphql/guides/forming-calls-with-graphql#communicating-with-graphql | ||
# CANNOT have newlines! | ||
run: | | ||
OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1) | ||
REPO=$(echo $GITHUB_REPOSITORY | cut -d'/' -f2) | ||
QUERY='query { repository(owner: \"'"$OWNER"'\", name: \"'"$REPO"'\") { collaborators { totalCount } } }' | ||
CONTRIBUTORS=$(curl -s -X POST -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -H "Content-Type: application/json" -d "{\"query\": \"$QUERY\"}" https://api.github.com/graphql | jq -r '.data.repository.collaborators.totalCount') | ||
echo "Total contributors: $CONTRIBUTORS" | ||
echo "contributors=$CONTRIBUTORS" >> $GITHUB_OUTPUT | ||
- name: Replace slug in MAINTAINERS.md with number of contributors | ||
# https://stackoverflow.com/questions/10613643/replace-a-unknown-string-between-two-known-strings-with-sed | ||
run: | | ||
CONTRIBUTORS=${{ steps.get_contributors.outputs.contributors }} | ||
sed -i 's/<!--CONTRIBUTOR COUNT START-->.*<!--CONTRIBUTOR COUNT END-->/<!--CONTRIBUTOR COUNT START--> '"$CONTRIBUTORS"' <!--CONTRIBUTOR COUNT END-->/g' MAINTAINERS.md | ||
- name: Commit and push changes | ||
# https://github.com/orgs/community/discussions/26560#discussioncomment-3531273 | ||
# commit changes, but if no changes exist, then exit cleanly | ||
run: | | ||
git config user.name 'github-actions[bot]' | ||
git config user.email 'github-actions[bot]@users.noreply.github.com' | ||
git add MAINTAINERS.md | ||
git commit -m "BOT: Update contributors info in MAINTAINERS.md" || exit 0 | ||
git push |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,32 @@ | ||
# Code Owners | ||
<!-- TODO: Who are the points of contact in your project who are responsible/accountable for the project? This can often be an engineering or design manager or leader, who may or may not be the primary maintainers of the project. List them by GitHub Username--> | ||
{usernames of code owners} | ||
{% set code_owners = cookiecutter.code_owners.split(',') %} | ||
{% for item in code_owners %}- {{ item }} | ||
{% endfor %} | ||
|
||
# Repo Domains | ||
<!-- TODO: List out the various domains of the project or teams of owners for that domain (e.g. Frontend, Backend, Documentation)--> | ||
documentation/* {usernames of documentation owners} | ||
frontend/* {usernames of frontend owners} | ||
## Repo Domains | ||
|
||
<!-- | ||
The Repo Domains section of your CODEOWNERS.md file helps manage code review responsibilities efficiently. Each domain represents a different aspect of the repository, such as documentation, frontend, backend, DevOps, testing, etc. In this section, list each domain and assign the appropriate GitHub usernames or teams responsible for that domain. This ensures that pull requests (PRs) are reviewed by the right experts, maintaining high code quality and relevance. | ||
For example: | ||
/docs/ @doc-team @johnsmith @janedoe | ||
/frontend/ @frontend-team @alice @bob | ||
/backend/ @backend-team @charlie @dana | ||
Furthermore, GitHub teams are a good feature for managing groups of contributors who need to be notified about specific domains within a repository. By creating and using GitHub teams, you can allow contributors to ping multiple relevant experts simultaneously. | ||
To set up GitHub teams: | ||
- Navigate to your organization's settings and select "Teams". | ||
- Create a new team for each domain, such as @frontend-team, @backend-team, or @doc-team. | ||
- Add the relevant members to each team. Ensure that the team includes all the individuals who should be notified about PRs in their domain. | ||
- When filling out the Repo Domains section in your CODEOWNERS.md file, use the team handles instead of or alongside individual usernames. This way, when a contributor opens a PR affecting a specific domain, they can simply tag the team, and every member of that team will be notified. | ||
--> | ||
|
||
/docs/ {Git usernames of documentation owners} | ||
/frontend/ {Git usernames of frontend owners} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
tier4/{{cookiecutter.project_slug}}/.github/workflows/contributors.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
on: | ||
push: | ||
branches: | ||
- main | ||
workflow_dispatch: | ||
|
||
jobs: | ||
update-contributors: | ||
runs-on: ubuntu-latest | ||
name: Update contributors info in MAINTAINERS.md | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
# Update contributor list | ||
- name: Contribute List | ||
uses: akhilmhdh/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
# https://github.com/marketplace/actions/contribute-list#optional-parameters | ||
readme_path: MAINTAINERS.md | ||
use_username: false | ||
commit_message: "BOT: Update contributors info in MAINTAINERS.md" | ||
|
||
# Update contributor count | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Pull changes from contributors-readme-action | ||
run: | | ||
git pull | ||
- name: Get repository contributors count | ||
id: get_contributors | ||
# https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#list-repository-contributors | ||
# https://docs.github.com/en/graphql/reference/objects#repositorycollaboratorconnection | ||
# https://docs.github.com/en/graphql/guides/forming-calls-with-graphql#communicating-with-graphql | ||
# CANNOT have newlines! | ||
run: | | ||
OWNER=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1) | ||
REPO=$(echo $GITHUB_REPOSITORY | cut -d'/' -f2) | ||
QUERY='query { repository(owner: \"'"$OWNER"'\", name: \"'"$REPO"'\") { collaborators { totalCount } } }' | ||
CONTRIBUTORS=$(curl -s -X POST -H "Authorization: bearer ${{ secrets.GITHUB_TOKEN }}" -H "Content-Type: application/json" -d "{\"query\": \"$QUERY\"}" https://api.github.com/graphql | jq -r '.data.repository.collaborators.totalCount') | ||
echo "Total contributors: $CONTRIBUTORS" | ||
echo "contributors=$CONTRIBUTORS" >> $GITHUB_OUTPUT | ||
- name: Replace slug in MAINTAINERS.md with number of contributors | ||
# https://stackoverflow.com/questions/10613643/replace-a-unknown-string-between-two-known-strings-with-sed | ||
run: | | ||
CONTRIBUTORS=${{ steps.get_contributors.outputs.contributors }} | ||
sed -i 's/<!--CONTRIBUTOR COUNT START-->.*<!--CONTRIBUTOR COUNT END-->/<!--CONTRIBUTOR COUNT START--> '"$CONTRIBUTORS"' <!--CONTRIBUTOR COUNT END-->/g' MAINTAINERS.md | ||
- name: Commit and push changes | ||
# https://github.com/orgs/community/discussions/26560#discussioncomment-3531273 | ||
# commit changes, but if no changes exist, then exit cleanly | ||
run: | | ||
git config user.name 'github-actions[bot]' | ||
git config user.email 'github-actions[bot]@users.noreply.github.com' | ||
git add MAINTAINERS.md | ||
git commit -m "BOT: Update contributors info in MAINTAINERS.md" || exit 0 | ||
git push |
Oops, something went wrong.