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

chore: initial version of resources request #1123

Merged
merged 6 commits into from
Jul 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions project-resources/GITHUB_REQUESTS/2023.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 2023 GitHub Resources Request Record

First Name | Last Name | Project | Amount requested | Pull Request date | Pull Request link
-|-|-|-|-|-
3 changes: 3 additions & 0 deletions project-resources/GITHUB_REQUESTS/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GitHub Resource Requests

For details on Requesting GitHub Resources, please see [REQUESTING_GITHUB_RESOURCES.md](../REQUESTING_GITHUB_RESOURCES.md).
8 changes: 4 additions & 4 deletions project-resources/PROJECT_FUND.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Alongside these lines, the fund exists to support the development of the project

The list below contains a historical archive and reference of past approved project fund requests.

- [2023](../PROJECT_FUND/2023.md)
- [2023](./PROJECT_FUND/2023.md)

## Requesting Project Funds

Expand All @@ -34,7 +34,7 @@ The Pull Request template below should be completed with a Pull Request containi

<!-- Explain what is the ultimate goal this fund request aims to achieve -->

### Intended usage of the resouces
### Intended usage of the resources

<!-- For what kind of resources should the monetary resources be allocated how are they intended to be used -->

Expand All @@ -54,13 +54,13 @@ The Pull Request template below should be completed with a Pull Request containi
cc @openjs-foundation/cpc
```

## Process
## Approval Process

The request must be made to the CPC for evaluation.
The CPC evaluates the request following its [decision-making process](https://github.com/openjs-foundation/cross-project-council/blob/main/CPC-CHARTER.md#section-9-decision-making) and makes a recommendation to the Board.
Finally the request should be forwarded to the Board of Directors for final approval.

## Evaluation
## Post-mortem Evaluation

An evaluation should be done after the conclusion of the timeline of the fund request.
Ideally as a comment on the same PR as it would notify the current people subscribed to the Pull Request.
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Project Fund

For details on the Project Fund, please see [PROJECT_FUND.md](../project-resources/PROJECT_FUND.md).
For details on the Project Fund, please see [PROJECT_FUND.md](../PROJECT_FUND.md).
71 changes: 71 additions & 0 deletions project-resources/REQUESTING_GITHUB_RESOURCES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# OpenJS Foundation GitHub Resources Requests

OpenJS Foundation can provide monthly funding for the following Github resources:

- Actions
- Codespaces
- Extra Large Runners (Actions)

Funding for resources requires:

1. CPC Approval
2. OpenJS Foundation Budget Approval

## Archive of Approved Requests

The list below contains a historical archive and reference of past approved project fund requests.

- [2023](./GITHUB_REQUESTS/2023.md)

## Requesting GitHub Resources

The process for requesting Github resources is:

1. Estimate your monthly spend using https://github.com/pricing/calculator
1. Create and submit a PR using the template for CPC approval
1. If approved the CPC will discuss with OpenJS staff in the next CPC meeting
1. Once fully approved, you will need to add OpenJS staff as a billing manager on your project
- Billing Managers have only access to Billing Settings on your GitHub organization
1. OpenJS will add a credit card and implement spending limits consistent with the request

The Pull Request template below should be completed with a Pull Request containing an addition to the `GITHUB_REQUESTS/{CurrentYear}.md` spreadsheet from this repository, filling the required information.

### Best Practices

These best practices are a set of recommendations for maintaining a healthy usage of the resources.

#### Codespaces Best-Practices

- When enabling Codespaces, we recommend that only a set of repositories have Codespaces enabled, to avoid it being used on projects that do not require Codespaces.
- We recommend setting policies that best fit your project needs, but that are reasonable in terms of resource usages, such as:
- Limiting the amount of concurrent Codespaces a member might own
- Defining a reasonable timeout policy to avoid extra unnecessary costs
- If your organization has a large amount of members, we recommend limiting the access of Codespaces to members that would benefit from it and possibly making it an opt-in process (so that members request access to Codespaces)
- This is a recommended practice as if individual members accidentally reach the budgetry limit defined, this affects everyones usage of Codespace as the feature would be locked out until the next billing cycle

### GitHub Resource Request PR Template

```md
## GitHub Resource Request for {Project Name}

- **Estimated monthly spend:** USD XXXX.XX
- **Requested Features:**
- [ ] Actions
- [ ] Codespaces
- [ ] Extra Large Runners (Actions)
- **Fund Request Champions:**
- Champion A (@handle)
- Champion B (@handle)

### Intended usage of the resouces

<!-- For what kind of resources should the monetary resources be allocated how are they intended to be used -->

cc @openjs-foundation/cpc
```

## Approvals

The request is submitted to the CPC for evaluation.
The CPC evaluates the request following its [decision-making process](https://github.com/openjs-foundation/cross-project-council/blob/main/CPC-CHARTER.md#section-9-decision-making) and if approved, informs OpenJS staff that the request needs budget approval.
Requests approved by the CPC are subject to final budget approval by the OpenJS Foundation.