Skip to content

Commit 46eea73

Browse files
authored
Merge branch 'master' into advance-rfc-0830
2 parents e861b3d + 0121ca8 commit 46eea73

File tree

70 files changed

+8848
-180
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+8848
-180
lines changed

.github/PULL_REQUEST_TEMPLATE/advance-to-ready-for-release.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Advance #__RFC_NUMBER__ to the [Ready For Release Stage](https://github.com/emberjs/rfcs#ready-for-release)
22

3+
## [Rendered](__RFC_RENDERED_URL__)
4+
35
## Summary
46

57
This pull request is advancing the RFC to the [Ready For Release Stage](https://github.com/emberjs/rfcs#ready-for-release).
@@ -28,16 +30,18 @@ Each Ember core team will be requested as a reviewer on the PR to move into this
2830

2931
- [ ] Implementation is complete according to plan outlined in the RFC, with any adjustments noted in the RFC
3032
- [ ] Any necessary learning materials have been updated
31-
- [ ] The Ember team is ready to commit to the stability of any interfaces exposed by the current implementation of the feature
33+
- [ ] The Ember team is ready to commit to the stability of any interfaces exposed by the current implementation of the feature. This is the go/no go decision for any feature flags, but the flags should only be turned on when moving to Released.
34+
- [ ] The feature may not yet have support by the entire ecosystem (e.g. IDEs, addons, Ember Inspector, Engines, Lint Rules, Blueprints, etc), but it does not unintentionally break any existing functionality in those areas.
35+
- [ ] The Interactive Tutorial is not broken by this feature.
3236
- [ ] Criteria for moving to the Recommended Stage has been filled out
3337
- [ ] This PR has been converted from a draft to a regular PR and the `Final Comment Period` label has been added to start the FCP
34-
- [ ] Each [team](https://github.com/emberjs/rfcs#relevant-teams) has been added as a reviewer to the PR at the start of the FCP
35-
* [ ] Framework @emberjs/framework
36-
* [ ] Data @emberjs/ember-data-core
37-
* [ ] CLI @emberjs/cli
38-
* [ ] Learning @emberjs/learning-core
39-
* [ ] Typescript @emberjs/typescript-core
40-
* [ ] Steering @emberjs/steering
38+
- [ ] Each [team](https://github.com/emberjs/rfcs#relevant-teams) has been added as a reviewer to the PR at the start of the FCP. Reviews are not required by the end of the FCP. This is a notification step.
39+
* Framework @emberjs/framework
40+
* Data @emberjs/ember-data-core
41+
* CLI @emberjs/cli
42+
* Learning @emberjs/learning-core
43+
* Typescript @emberjs/typescript-core
44+
* Steering @emberjs/steering
4145

4246

4347
## Criteria for moving to Recommended (required)

.github/PULL_REQUEST_TEMPLATE/advance-to-recommended.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Advance #__RFC_NUMBER__ to the [Recommended Stage](https://github.com/emberjs/rfcs#recommended)
22

3+
## [Rendered](__RFC_RENDERED_URL__)
4+
35
## Summary
46

57
This pull request is advancing the RFC to the [Recommended Stage](https://github.com/emberjs/rfcs#recommended).
@@ -35,13 +37,21 @@ An FCP is required to enter this stage. Multiple RFCs may be moved as a batch in
3537

3638
## Checklist to move to Recommended
3739

38-
- [ ] Any criteria for "Recommended" for this proposal that were established in the Ready For Release stage have been met
39-
- [ ] If appropriate, the feature is integrated into the tutorial and the guides prose. API documentation is polished and updates are carried through to other areas of API docs that may not directly pertain to the feature.
40-
- [ ] If the proposal replaces an existing feature, the addon ecosystem has largely updated to work with both old and new features.
41-
- [ ] If the proposal updates or replaces an existing feature, high-quality codemods are available
42-
- [ ] If needed, Ember debugging tools as well as popular IDE support have been updated to support the feature.
43-
- [ ] If the feature is part of a suite of features that were designed to work together for best ergonomics, the other features are also ready to be "Recommended".
44-
- [ ] This PR has been converted from a draft to a regular PR and the `Final Comment Period` label has been added to start the FCP
40+
- [ ] **Criteria specific to this feature:** Any additional criteria for "Recommended" for this proposal that were established in the Ready For Release stage have been met.
41+
- [ ] **Tutorial:** If appropriate, the feature is integrated into the tutorial.
42+
- [ ] **Guides:** If appropriate, the feature is integrated into the guides prose.
43+
- [ ] **API Docs:** API documentation is polished and updates are carried through to other areas of API docs that may not directly pertain to the feature.
44+
- [ ] **Addon Ecosystem:** If the proposal replaces an existing feature, the addon ecosystem has largely updated to work with both old and new features.
45+
- [ ] **Codemods:** If the proposal updates or replaces an existing feature, high-quality codemods are available.
46+
- [ ] **Debugging Tools:** If needed, Ember debugging tools (e.g. Ember Inspector, Deprecation Workflow) have been updated to support the feature.
47+
- [ ] **IDE Support:** If needed, popular IDE support has been updated to support the feature.
48+
- [ ] **Engines, SSR:** If needed, ecosystem feature such as Ember Engines, SSR support have been updated to support the feature.
49+
- [ ] **Blueprints:** Blueprints have been updated to support the feature and to reflect the new best practices implied by this feature.
50+
- [ ] **Linting:** Lint rules have been updated or added or removed to support the feature and to reflect the new best practices implied by this feature.
51+
- [ ] **Deprecations:** If this feature implies that other features are no longer best practice, RFCs have been created to deprecate those features.
52+
- [ ] **Blog Post:** Consider if a blog post should be written to introduce this feature to the community.
53+
- [ ] **Feature Suite:** If the feature is part of a suite of features that were designed to work together for best ergonomics, the other features are also ready to be "Recommended".
54+
- [ ] **FCP to Recommended:** This PR has been converted from a draft to a regular PR and the `Final Comment Period` label has been added to start the FCP.
4555

4656
## Criteria for moving to Recommended (required)
4757

.github/PULL_REQUEST_TEMPLATE/advance-to-released.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Advance #__RFC_NUMBER__ to the [Released Stage](https://github.com/emberjs/rfcs#released)
22

3+
## [Rendered](__RFC_RENDERED_URL__)
4+
35
## Summary
46

57
This pull request is advancing the RFC to the [Released Stage](https://github.com/emberjs/rfcs#released).
@@ -23,6 +25,6 @@ An RFC is moved into "Released" when the above is verified by consensus of the r
2325

2426
## Checklist to move to Released
2527

26-
- [ ] The work is published in stable versions of the relevant package(s)
28+
- [ ] The work is published in stable versions of the relevant package(s), with any feature flags toggled on.
2729
- [ ] Deviations from the original RFC are noted in the RFC
2830
- [ ] Release packages and dates are updated in the RFC frontmatter

.github/actions/find-added-or-modified-rfcs/action.yml

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,20 @@ outputs:
1717
value: ${{ steps.modified-rfc.outputs.path }}
1818
modified-rfcs-count:
1919
description: "The count of how many RFCs were added or modified"
20-
value: ${{ steps.counts.outputs.all_changed }}
20+
value: ${{ steps.rfcs.outputs.all_changed_files_count }}
2121
added-rfcs-count:
2222
description: "The count of how many RFCs that were added"
23-
value: ${{ steps.counts.outputs.added }}
23+
value: ${{ steps.rfcs.outputs.added_files_count }}
2424

2525
runs:
2626
using: "composite"
2727
steps:
2828
- name: Find added or modified RFCs
2929
id: rfcs
30-
uses: tj-actions/changed-files@v31
30+
uses: tj-actions/changed-files@v39
3131
with:
32-
path: 'text'
33-
json: 'true'
34-
sha: ${{ inputs.sha }}
35-
base_sha: ${{ inputs.base-sha }}
36-
37-
- name: Get counts of changed and added RFCs
38-
id: counts
39-
shell: bash
40-
run: |
41-
changed_len=`echo "${{ steps.rfcs.outputs.all_changed_files }}" | jq '. | length'`
42-
echo "all_changed=$changed_len" >> $GITHUB_OUTPUT
43-
added_len=`echo "${{ steps.rfcs.outputs.added_files }}" | jq '. | length'`
44-
echo "added=$added_len" >> $GITHUB_OUTPUT
32+
files: text
33+
json: true
4534

4635
- name: Find modified or added RFC info
4736
id: modified-rfc

.github/actions/setup-rfcs-tooling/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ runs:
99
with:
1010
repository: emberjs/rfcs-tooling
1111
path: rfcs-tooling
12-
ref: 'v2.1.1'
12+
ref: 'v3.0.0'
1313

1414
- uses: actions/setup-node@v3
1515
with:

.github/pull_request_template.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<!-- If you are proposing a new RFC, please fill out the below template.
2+
If not, please remove the below contents
3+
-->
4+
5+
# Propose {{RFC_NAME}}
6+
7+
<!-- Update the below to link to the rendered version of your RFC.
8+
The URL can be interpolated below or can be found by going to the files tab
9+
and choosing `View file' from the `...' menu in the right hand corner of the file. -->
10+
11+
## [Rendered](https://github.com/{{username}}/rfcs/blob/{{branch}}/text/{{rfc_number}}-{{rfc_slug}}.md)
12+
13+
## Summary
14+
15+
This pull request is proposing a new RFC.
16+
17+
To succeed, it will need to pass into the [Exploring Stage](https://github.com/emberjs/rfcs#exploring), followed by the [Accepted Stage](https://github.com/emberjs/rfcs#accepted).
18+
19+
A Proposed or Exploring RFC may also move to the [Closed Stage](https://github.com/emberjs/rfcs#closed) if it is withdrawn by the author or if it is rejected by the Ember team. This requires an "FCP to Close" period.
20+
21+
**An FCP is required before merging this PR to advance to Accepted.**
22+
23+
Upon merging this PR, automation will open a draft PR for this RFC to move to the [Ready for Released Stage](https://github.com/emberjs/rfcs#ready-for-release).
24+
25+
<details>
26+
<summary>Exploring Stage Description</summary>
27+
28+
This stage is entered when the Ember team believes the concept described in the RFC should be pursued, but the RFC may still need some more work, discussion, answers to open questions, and/or a champion before it can move to the next stage.
29+
30+
An RFC is moved into Exploring with consensus of the relevant teams. The relevant team expects to spend time helping to refine the proposal. The RFC remains a PR and will have an `Exploring` label applied.
31+
32+
An Exploring RFC that is successfully completed can move to [Accepted](https://github.com/emberjs/rfcs#accepted) with an FCP is required as in the existing process. It may also be moved to [Closed](https://github.com/emberjs/rfcs#closed) with an FCP.
33+
</details>
34+
35+
<details>
36+
<summary>Accepted Stage Description</summary>
37+
38+
To move into the "accepted stage" the RFC must have complete prose and have successfully passed through an "FCP to Accept" period in which the community has weighed in and consensus has been achieved on the direction. The relevant teams believe that the proposal is well-specified and ready for implementation. The RFC has a champion within one of the relevant teams.
39+
40+
If there are unanswered questions, we have outlined them and expect that they will be answered before [Ready for Release](https://github.com/emberjs/rfcs#ready-for-release).
41+
42+
When the RFC is accepted, the PR will be merged, and automation will open a new PR to move the RFC to the [Ready for Release](https://github.com/emberjs/rfcs#ready-for-release) stage. That PR should be used to track implementation progress and gain consensus to move to the next stage.
43+
44+
</details>
45+
46+
## Checklist to move to Exploring
47+
48+
- [ ] The team believes the concepts described in the RFC should be pursued.
49+
- [ ] The label `S-Proposed` is removed from the PR and the label `S-Exploring` is added.
50+
- [ ] The Ember team is willing to work on the proposal to get it to Accepted
51+
52+
## Checklist to move to Accepted
53+
54+
- [ ] This PR has had the `Final Comment Period` label has been added to start the FCP
55+
- [ ] The RFC is announced in #news-and-announcements in the Ember Discord.
56+
- [ ] The RFC has complete prose, is well-specified and ready for implementation.
57+
- [ ] All sections of the RFC are filled out.
58+
- [ ] Any unanswered questions are outlined and expected to be answered before Ready for Release.
59+
- [ ] "How we teach this?" is sufficiently filled out.
60+
- [ ] The RFC has a champion within one of the relevant teams.
61+
- [ ] The RFC has consensus after the FCP period.

.github/workflows/advance-rfc.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
- name: RFCs Added or Changed
2727
id: rfcs
2828
uses: ./.github/actions/find-added-or-modified-rfcs
29-
with:
30-
base-sha: ${{ github.event.before }}
3129

3230
- name: Fail if more than 1 RFC is added or modified
3331
if: steps.rfcs.outputs.modified-rfcs-count > 1
@@ -55,7 +53,7 @@ jobs:
5553
echo "A new RFC was added"
5654
echo "value=true" >> $GITHUB_OUTPUT
5755
else
58-
node rfcs-tooling/has-stage-changed.js ${{ github.event.before }} ${{ steps.rfcs.outputs.modified-rfc }}
56+
node rfcs-tooling/scripts/has-stage-changed.mjs ${{ github.event.before }} ${{ steps.rfcs.outputs.modified-rfc }}
5957
if [[ $? == 0 ]]; then
6058
echo "## Yes, stage has changed" >> $GITHUB_STEP_SUMMARY
6159
echo "value=true" >> $GITHUB_OUTPUT
@@ -69,7 +67,7 @@ jobs:
6967
if: steps.has-stage-changed.outputs.value == 'true'
7068
id: new-stage
7169
run: |
72-
new_stage=`node rfcs-tooling/find-next-stage.js ${{ steps.rfcs.outputs.modified-rfc }}`
70+
new_stage=`node rfcs-tooling/scripts/find-next-stage.mjs ${{ steps.rfcs.outputs.modified-rfc }}`
7371
echo "New Stage: $new_stage"
7472
echo "value=$new_stage" >> $GITHUB_OUTPUT
7573

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ jobs:
1515
uses: ./.github/actions/setup-rfcs-tooling
1616

1717
- name: Lint the frontmatter of all RFCs
18-
run: node ./rfcs-tooling/lint-rfc-frontmatter.js text/*.md
18+
run: node ./rfcs-tooling/scripts/lint-rfc-frontmatter.mjs text/*.md

.github/workflows/generate-rfc-frontmatter-json.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818

1919
- name: Generate frontmatter data file
2020
run: |
21-
node rfcs-tooling/list-frontmatter.js text/*.md > rfc-data.json
21+
node rfcs-tooling/scripts/list-frontmatter.mjs text/*.md > rfc-data.json
2222
2323
- uses: actions/upload-artifact@v3
2424
with:

.github/workflows/newly-added-rfcs.yml

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,6 @@ on:
88
paths:
99
- 'text/*.md'
1010

11-
concurrency:
12-
# Events within 5 minutes are not guaranteed to run in order, and so when removing S-Proposed and adding S-Exploring
13-
# we can't guarantee that the run of the workflow will be the one where S-Exploring is added. Adding `github.event_name`
14-
# to the concurrency allows both workflows to complete and the PR to eventually have successful checks.
15-
group: newly-added-rfc-${{ github.head_ref || github.ref }}-${{ github.event_name }}
16-
cancel-in-progress: true
17-
1811
jobs:
1912
check-rfcs:
2013
name: Does PR add RFCs?
@@ -76,7 +69,7 @@ jobs:
7669
- name: Fail if more than 1 RFC is added or modified
7770
if: ${{ needs.check-rfcs.outputs.rfcs-changed > 1}}
7871
run: |
79-
echo "::error::More than 1 RFC is added in this PR; will be unable to automatically open PRs for advancement"
72+
echo "::error::More than 1 RFC is added or modified in this PR; will be unable to automatically open PRs for advancement"
8073
exit 1
8174
8275
frontmatter-stage-is-accepted:
@@ -92,7 +85,7 @@ jobs:
9285

9386
- name: Verify stage of newly added RFC is `accepted` in frontmatter
9487
run: |
95-
frontmatter=`node rfcs-tooling/rfc-frontmatter.js ${{ needs.check-rfcs.outputs.modified-rfc }}`
88+
frontmatter=`node rfcs-tooling/scripts/rfc-frontmatter.mjs ${{ needs.check-rfcs.outputs.modified-rfc }}`
9689
stage=`echo $frontmatter | jq '.stage'`
9790
if [[ $stage != '"accepted"' ]]; then
9891
echo "::error::Newly added RFCs must have the stage 'accepted' in the frontmatter"
@@ -113,8 +106,7 @@ jobs:
113106
- name: Test RFC Filename matches PR Number that adds it
114107
env:
115108
PR_NUMBER: ${{ github.event.pull_request.number }}
116-
run: node check-filename-matches-pr.js $PR_NUMBER ${{ needs.check-rfcs.outputs.modified-rfc }}
117-
working-directory: rfcs-tooling
109+
run: node rfcs-tooling/scripts/check-filename-matches-pr.mjs $PR_NUMBER ${{ needs.check-rfcs.outputs.modified-rfc }}
118110

119111
check-accepted-pr-url:
120112
name: Verify Accepted PR URL is correct
@@ -129,7 +121,7 @@ jobs:
129121

130122
- name: Verify Accepted PR URL is correct
131123
run: |
132-
frontmatter=`node rfcs-tooling/rfc-frontmatter.js ${{ needs.check-rfcs.outputs.modified-rfc }}`
124+
frontmatter=`node rfcs-tooling/scripts/rfc-frontmatter.mjs ${{ needs.check-rfcs.outputs.modified-rfc }}`
133125
accepted_pr=`echo $frontmatter | jq '.prs.accepted'`
134126
accepted_pr=${accepted_pr//\"/}
135127
expected_pr="${{ github.event.pull_request.html_url }}"

0 commit comments

Comments
 (0)