Skip to content

Commit

Permalink
Merge branch 'master' into advance-rfc-0812
Browse files Browse the repository at this point in the history
  • Loading branch information
ef4 authored Sep 27, 2024
2 parents 6a999a3 + 3e03230 commit 35e3fb6
Show file tree
Hide file tree
Showing 45 changed files with 4,365 additions and 131 deletions.
4 changes: 4 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/advance-to-ready-for-release.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Advance #__RFC_NUMBER__ to the [Ready For Release Stage](https://github.com/emberjs/rfcs#ready-for-release)

## [Rendered](__RFC_RENDERED_URL__)

## Summary

This pull request is advancing the RFC to the [Ready For Release Stage](https://github.com/emberjs/rfcs#ready-for-release).
Expand Down Expand Up @@ -29,6 +31,8 @@ Each Ember core team will be requested as a reviewer on the PR to move into this
- [ ] Implementation is complete according to plan outlined in the RFC, with any adjustments noted in the RFC
- [ ] Any necessary learning materials have been updated
- [ ] 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.
- [ ] 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.
- [ ] The Interactive Tutorial is not broken by this feature.
- [ ] Criteria for moving to the Recommended Stage has been filled out
- [ ] 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
- [ ] 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.
Expand Down
24 changes: 17 additions & 7 deletions .github/PULL_REQUEST_TEMPLATE/advance-to-recommended.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Advance #__RFC_NUMBER__ to the [Recommended Stage](https://github.com/emberjs/rfcs#recommended)

## [Rendered](__RFC_RENDERED_URL__)

## Summary

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

## Checklist to move to Recommended

- [ ] Any criteria for "Recommended" for this proposal that were established in the Ready For Release stage have been met
- [ ] 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.
- [ ] If the proposal replaces an existing feature, the addon ecosystem has largely updated to work with both old and new features.
- [ ] If the proposal updates or replaces an existing feature, high-quality codemods are available
- [ ] If needed, Ember debugging tools as well as popular IDE support have been updated to support the feature.
- [ ] 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".
- [ ] 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
- [ ] **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.
- [ ] **Tutorial:** If appropriate, the feature is integrated into the tutorial.
- [ ] **Guides:** If appropriate, the feature is integrated into the guides prose.
- [ ] **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.
- [ ] **Addon Ecosystem:** If the proposal replaces an existing feature, the addon ecosystem has largely updated to work with both old and new features.
- [ ] **Codemods:** If the proposal updates or replaces an existing feature, high-quality codemods are available.
- [ ] **Debugging Tools:** If needed, Ember debugging tools (e.g. Ember Inspector, Deprecation Workflow) have been updated to support the feature.
- [ ] **IDE Support:** If needed, popular IDE support has been updated to support the feature.
- [ ] **Engines, SSR:** If needed, ecosystem feature such as Ember Engines, SSR support have been updated to support the feature.
- [ ] **Blueprints:** Blueprints have been updated to support the feature and to reflect the new best practices implied by this feature.
- [ ] **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.
- [ ] **Deprecations:** If this feature implies that other features are no longer best practice, RFCs have been created to deprecate those features.
- [ ] **Blog Post:** Consider if a blog post should be written to introduce this feature to the community.
- [ ] **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".
- [ ] **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.

## Criteria for moving to Recommended (required)

Expand Down
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/advance-to-released.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Advance #__RFC_NUMBER__ to the [Released Stage](https://github.com/emberjs/rfcs#released)

## [Rendered](__RFC_RENDERED_URL__)

## Summary

This pull request is advancing the RFC to the [Released Stage](https://github.com/emberjs/rfcs#released).
Expand Down
21 changes: 5 additions & 16 deletions .github/actions/find-added-or-modified-rfcs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,20 @@ outputs:
value: ${{ steps.modified-rfc.outputs.path }}
modified-rfcs-count:
description: "The count of how many RFCs were added or modified"
value: ${{ steps.counts.outputs.all_changed }}
value: ${{ steps.rfcs.outputs.all_changed_files_count }}
added-rfcs-count:
description: "The count of how many RFCs that were added"
value: ${{ steps.counts.outputs.added }}
value: ${{ steps.rfcs.outputs.added_files_count }}

runs:
using: "composite"
steps:
- name: Find added or modified RFCs
id: rfcs
uses: tj-actions/changed-files@v31
uses: tj-actions/changed-files@v39
with:
path: 'text'
json: 'true'
sha: ${{ inputs.sha }}
base_sha: ${{ inputs.base-sha }}

- name: Get counts of changed and added RFCs
id: counts
shell: bash
run: |
changed_len=`echo "${{ steps.rfcs.outputs.all_changed_files }}" | jq '. | length'`
echo "all_changed=$changed_len" >> $GITHUB_OUTPUT
added_len=`echo "${{ steps.rfcs.outputs.added_files }}" | jq '. | length'`
echo "added=$added_len" >> $GITHUB_OUTPUT
files: text
json: true

- name: Find modified or added RFC info
id: modified-rfc
Expand Down
61 changes: 61 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<!-- If you are proposing a new RFC, please fill out the below template.
If not, please remove the below contents
-->

# Propose {{RFC_NAME}}

<!-- Update the below to link to the rendered version of your RFC.
The URL can be interpolated below or can be found by going to the files tab
and choosing `View file' from the `...' menu in the right hand corner of the file. -->

## [Rendered](https://github.com/{{username}}/rfcs/blob/{{branch}}/text/{{rfc_number}}-{{rfc_slug}}.md)

## Summary

This pull request is proposing a new RFC.

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).

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.

**An FCP is required before merging this PR to advance to Accepted.**

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).

<details>
<summary>Exploring Stage Description</summary>

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.

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.

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.
</details>

<details>
<summary>Accepted Stage Description</summary>

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.

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).

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.

</details>

## Checklist to move to Exploring

- [ ] The team believes the concepts described in the RFC should be pursued.
- [ ] The label `S-Proposed` is removed from the PR and the label `S-Exploring` is added.
- [ ] The Ember team is willing to work on the proposal to get it to Accepted

## Checklist to move to Accepted

- [ ] This PR has had the `Final Comment Period` label has been added to start the FCP
- [ ] The RFC is announced in #news-and-announcements in the Ember Discord.
- [ ] The RFC has complete prose, is well-specified and ready for implementation.
- [ ] All sections of the RFC are filled out.
- [ ] Any unanswered questions are outlined and expected to be answered before Ready for Release.
- [ ] "How we teach this?" is sufficiently filled out.
- [ ] The RFC has a champion within one of the relevant teams.
- [ ] The RFC has consensus after the FCP period.
2 changes: 0 additions & 2 deletions .github/workflows/advance-rfc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ jobs:
- name: RFCs Added or Changed
id: rfcs
uses: ./.github/actions/find-added-or-modified-rfcs
with:
base-sha: ${{ github.event.before }}

- name: Fail if more than 1 RFC is added or modified
if: steps.rfcs.outputs.modified-rfcs-count > 1
Expand Down
9 changes: 1 addition & 8 deletions .github/workflows/newly-added-rfcs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,6 @@ on:
paths:
- 'text/*.md'

concurrency:
# Events within 5 minutes are not guaranteed to run in order, and so when removing S-Proposed and adding S-Exploring
# we can't guarantee that the run of the workflow will be the one where S-Exploring is added. Adding `github.event_name`
# to the concurrency allows both workflows to complete and the PR to eventually have successful checks.
group: newly-added-rfc-${{ github.head_ref || github.ref }}-${{ github.event_name }}
cancel-in-progress: true

jobs:
check-rfcs:
name: Does PR add RFCs?
Expand Down Expand Up @@ -76,7 +69,7 @@ jobs:
- name: Fail if more than 1 RFC is added or modified
if: ${{ needs.check-rfcs.outputs.rfcs-changed > 1}}
run: |
echo "::error::More than 1 RFC is added in this PR; will be unable to automatically open PRs for advancement"
echo "::error::More than 1 RFC is added or modified in this PR; will be unable to automatically open PRs for advancement"
exit 1
frontmatter-stage-is-accepted:
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/open-advancement-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,17 @@ jobs:
ready_for_release_pr=${ready_for_release_pr//\"/}
released_pr=`echo $frontmatter | jq '.prs.released'`
released_pr=${released_pr//\"/}
rendered_rfc_url="https://github.com/$GITHUB_REPOSITORY/blob/advance-rfc-${{ inputs.rfc-number }}/${{ inputs.rfc-path }}"
title=`echo $frontmatter | jq '.title'`
if [[ ${{ inputs.new-stage }} == "ready-for-release" ]]; then
pretty_stage="Ready for Release"
template=`sed -e 's/__RFC_NUMBER__/${{ inputs.rfc-number }}/g' .github/PULL_REQUEST_TEMPLATE/advance-to-ready-for-release.md`
template=`sed -e 's/__RFC_NUMBER__/${{ inputs.rfc-number }}/g' -e "s>__RFC_RENDERED_URL__>$rendered_rfc_url>g" .github/PULL_REQUEST_TEMPLATE/advance-to-ready-for-release.md`
elif [[ ${{ inputs.new-stage }} == "released" ]]; then
pretty_stage="Released"
template=`sed -e 's/__RFC_NUMBER__/${{ inputs.rfc-number }}/g' -e "s>__READY_FOR_RELEASE_PR__>$ready_for_release_pr>g" .github/PULL_REQUEST_TEMPLATE/advance-to-released.md`
template=`sed -e 's/__RFC_NUMBER__/${{ inputs.rfc-number }}/g' -e "s>__READY_FOR_RELEASE_PR__>$ready_for_release_pr>g" -e "s>__RFC_RENDERED_URL__>$rendered_rfc_url>g" .github/PULL_REQUEST_TEMPLATE/advance-to-released.md`
elif [[ ${{ inputs.new-stage }} == "recommended" ]]; then
pretty_stage="Recommended"
template=`sed -e 's/__RFC_NUMBER__/${{ inputs.rfc-number }}/g' -e "s>__READY_FOR_RELEASE_PR__>$ready_for_release_pr>g" -e "s>__RELEASED_PR__>$released_pr>g" .github/PULL_REQUEST_TEMPLATE/advance-to-recommended.md`
template=`sed -e 's/__RFC_NUMBER__/${{ inputs.rfc-number }}/g' -e "s>__READY_FOR_RELEASE_PR__>$ready_for_release_pr>g" -e "s>__RELEASED_PR__>$released_pr>g" -e "s>__RFC_RENDERED_URL__>$rendered_rfc_url>g" .github/PULL_REQUEST_TEMPLATE/advance-to-recommended.md`
fi
echo 'body<<EOF' >> $GITHUB_OUTPUT
echo "$template" >> $GITHUB_OUTPUT
Expand All @@ -61,7 +62,7 @@ jobs:
uses: peter-evans/[email protected]
with:
token: ${{ secrets.personal-access-token }}
commit-message: "Advance RFC {{ inputs.rfc-number }} to Stage ${{ inputs.new-stage }}"
commit-message: "Advance RFC ${{ inputs.rfc-number }} to Stage ${{ inputs.new-stage }}"
add-paths: 'text'
branch: "advance-rfc-${{ inputs.rfc-number }}"
title: "Advance RFC #${{ inputs.rfc-number}} `${{ steps.pr-variables.outputs.title }}` to Stage ${{ steps.pr-variables.outputs.pretty-stage }}"
Expand Down
17 changes: 15 additions & 2 deletions 0000-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ project-link: Leave as is
suite: Leave as is
-->

# <RFC title>
<-- Replace "RFC title" with the title of your RFC -->
# RFC title

## Summary

Expand All @@ -49,7 +50,17 @@ outcome?
familiar with the framework to understand, and for somebody familiar with the
implementation to implement. This should get into specifics and corner-cases,
and include examples of how the feature is used. Any new terminology should be
defined here.
defined here.

> Please keep in mind any implications within the Ember ecosystem, such as:
> - Lint rules (ember-template-lint, eslint-plugin-ember) that should be added, modified or removed
> - Features that are replaced or made obsolete by this feature and should eventually be deprecated
> - Ember Inspector and debuggability
> - Server-side Rendering
> - Ember Engines
> - The Addon Ecosystem
> - IDE Support
> - Blueprints that should be added or modified
## How we teach this

Expand All @@ -64,6 +75,8 @@ at any level?
> How should this feature be introduced and taught to existing Ember
users?

> Keep in mind the variety of learning materials: API docs, guides, blog posts, tutorials, etc.
## Drawbacks

> Why should we *not* do this? Please consider the impact on teaching Ember,
Expand Down
18 changes: 17 additions & 1 deletion deprecation-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ prs:
project-link: Leave as is
-->

# <RFC title>
<-- Replace "RFC title" with the title of your RFC -->
# RFC Title

## Summary

Expand All @@ -47,6 +48,19 @@ Describe it in enough detail for someone who uses the deprecated functionality
to understand, for someone to write the deprecation guide, and for someone
familiar with the implementation to implement.

> It can be helpful to write the deprecation guide as part of this section. Published deprecation
> guides can be found at https://deprecations.emberjs.com/.
> Please keep in mind any implications within the Ember ecosystem, such as:
> - Lint rules (ember-template-lint, eslint-plugin-ember) that should be added, modified or removed
> - Features that are replaced or made obsolete by this feature and should eventually be deprecated
> - Ember Inspector and debuggability
> - Server-side Rendering
> - Ember Engines
> - The Addon Ecosystem
> - IDE Support
> - Blueprints that should be added or modified
## How We Teach This

> Would the acceptance of this proposal mean the Ember guides must be
Expand All @@ -58,6 +72,8 @@ related to this feature?
How should this deprecation be introduced and explained to existing Ember
users?

> Keep in mind the variety of learning materials: API docs, guides, blog posts, tutorials, etc.
## Drawbacks

> Why should we *not* do this? Please consider the impact on teaching Ember,
Expand Down
Binary file added images/ember_test.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/npm_test.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions text/0496-handlebars-strict-mode.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
stage: released
stage: recommended
start-date: 2019-02-14T00:00:00.000Z
release-date: 2021-05-03T00:00:00.000Z
release-versions:
ember-source: v3.27.0

teams:
- framework
prs:
accepted: https://github.com/emberjs/rfcs/pull/496
accepted: 'https://github.com/emberjs/rfcs/pull/496'
recommended: 'https://github.com/emberjs/rfcs/pull/1024'
project-link:
---

Expand Down
6 changes: 3 additions & 3 deletions text/0566-memo-decorator.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
stage: released # FIXME: This may be recommended
stage: recommended
start-date: 2019-12-22T00:00:00.000Z
release-date: 2021-12-28T00:00:00.000Z
release-versions:
ember-source: v4.1.0

teams:
- framework
prs:
accepted: https://github.com/emberjs/rfcs/pull/566
accepted: 'https://github.com/emberjs/rfcs/pull/566'
recommended: 'https://github.com/emberjs/rfcs/pull/914'
project-link:
---

Expand Down
6 changes: 3 additions & 3 deletions text/0637-customizable-test-setups.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
stage: released # FIXME: This may be recommended
stage: recommended
start-date: 2020-06-01T00:00:00.000Z
release-date: 2020-05-02T00:00:00.000Z
release-versions:
ember-source: v4.4.0
ember-cli: v4.3.0

teams:
- framework
- cli
prs:
accepted: https://github.com/emberjs/rfcs/pull/637
accepted: 'https://github.com/emberjs/rfcs/pull/637'
recommended: 'https://github.com/emberjs/rfcs/pull/888'
project-link:
---

Expand Down
6 changes: 3 additions & 3 deletions text/0659-unique-id-helper.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
stage: released # FIXME: This may be recommended
stage: recommended
start-date: 2020-08-25T00:00:00.000Z
release-date: 2022-05-02T00:00:00.000Z
release-versions:
ember-source: v4.4.0

teams:
- framework
prs:
accepted: https://github.com/emberjs/rfcs/pull/659
accepted: 'https://github.com/emberjs/rfcs/pull/659'
recommended: 'https://github.com/emberjs/rfcs/pull/865'
project-link:
---

Expand Down
6 changes: 4 additions & 2 deletions text/0724-road-to-typescript.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
stage: accepted
stage: released
start-date: 2021-03-11T00:00:00.000Z
release-date:
release-versions:
Expand All @@ -10,7 +10,9 @@ teams:
- learning
- steering
prs:
accepted: https://github.com/emberjs/rfcs/pull/724
accepted: 'https://github.com/emberjs/rfcs/pull/724'
ready-for-release: 'https://github.com/emberjs/rfcs/pull/869'
released: 'https://github.com/emberjs/rfcs/pull/948'
project-link:
---

Expand Down
Loading

0 comments on commit 35e3fb6

Please sign in to comment.