@ -84,7 +84,7 @@ If you search `FormattedMessage` or `intl.formatMessage` in this project, you wi
**Why?**
**Why?**
Each non-english language will be filled in the gaps with english. Even there maybe some un-translated content, it will always use english as defaultMessage. That why we don't need to provide a `defaultMessage` prop each time we render a `FormattedMessage` component.
Each non-english language will be filled in the gaps with english. Even though there maybe some un-translated content, it will always use english as defaultMessage. That's why we don't need to provide a `defaultMessage` prop each time we render a `FormattedMessage` component.
But in some cases, the `id` prop may not be static. For example,
But in some cases, the `id` prop may not be static. For example,
@ -16,10 +16,10 @@ During this phase the github project has to be filled with the issues that are g
## Release planning:
## Release planning:
Together with the team, the release manager will refine the list of issues and PRs that should be addressed during the release.
Together with the team, the release manager will refine the list of issues and PRs that should be addressed during the release.
More generally and a non negligeable part of the planning is to properly ensure that bugs, issues that weren't totally identified in the roadmap, and the roadmap issues are still being processed as they should.
More generally and a non-negligible part of the planning is to properly ensure that bugs, issues that weren't totally identified in the roadmap, and the roadmap issues are still being processed as they should.
During this phase, **all the current project issues have to be assigned.**
During this phase, **all the current project issues have to be assigned.**
After the release planning each one of us have to specify the effort need for each issue (1 - 2 - 3 - 5 - 8 - 13)
After the release planning each one of us has to specify the effort need for each issue (1 - 2 - 3 - 5 - 8 - 13)
## Release planning - refinement meeting:
## Release planning - refinement meeting:
This meeting happens a few days after the release planning meeting.
This meeting happens a few days after the release planning meeting.
@ -37,7 +37,7 @@ Release managers will oversee the various aspects of a project before it is due
The quality of the release needs to be reviewed before a project is officially launched.
The quality of the release needs to be reviewed before a project is officially launched.
The release manager is in charge of ensuring manual testing is properly planned and done.
The release manager is in charge of ensuring manual testing is properly planned and done.
During the feature freeze time, only the release manager has permission to merge pull requests. As staging should at this point be already deployed, this is to ensure that the release manager has enough visibility on the changes being applied.
During the feature freeze time, only the release manager has permission to merge pull requests. As staging should at this point be already deployed, this is to ensure that the release manager has enough visibility on the changes being applied.
Also that unit testing and e2e for new feaures have been included.
Also that unit testing and e2e for new features have been included.
## Deployment:
## Deployment:
After being quality checked, the project is ready to be deployed.
After being quality checked, the project is ready to be deployed.
@ -57,8 +57,8 @@ The release manager is still responsible for ensuring a project is rolled out sm
- Lead the daily standup meeting.
- Lead the daily standup meeting.
- 10 minutes or more are reserved at the end of the daily standup meeting where the release manager update the team on the opened PRs (PRs which aim to be delivered in the planned release).
- 10 minutes or more are reserved at the end of the daily standup meeting where the release manager update the team on the opened PRs (PRs which aim to be delivered in the planned release).
- Regular check for new filed issues, identify those that requires to be published (included in the release)
- Regular check for new filed issues, identify those that require to be published (included in the release)
- In some really specific situation, it could be required to deploy intermediate releases (e.g critical bug fixes).
- In some really specific situations, it could be required to deploy intermediate releases (e.g critical bug fixes).
- Planning, refinement, retrospective meetings have to be organized by the release manager and any other required meetings.
- Planning, refinement, retrospective meetings have to be organized by the release manager and any other required meetings.
- Release manager should feel free to implement new techniques and put their own fingerprint to their release, this could potentially benefit upcoming releases.
- Release manager should feel free to implement new techniques and put their own fingerprint to their release, this could potentially benefit upcoming releases.
- During feature freeze, remix-beta should be updated every morning.
- During feature freeze, remix-beta should be updated every morning.
@ -74,7 +74,7 @@ The release manager is still responsible for ensuring a project is rolled out sm
- [ ] a release kickoff meeting with the team aiming to get input from everyone and modify the project accordingly.
- [ ] a release kickoff meeting with the team aiming to get input from everyone and modify the project accordingly.
- [ ] 2-3 days span where team members estimate their issues.
- [ ] 2-3 days span where team members estimate their issues.
- [ ] a release planning meeting where we agree on the release scope (intermediate and/or classic release).
- [ ] a release planning meeting where we agree on the release scope (intermediate and/or classic release).
- [ ] after this meeting: all the issues / PR should have been qualified in term of effort and scope.
- [ ] after this meeting: all the issues / PR should have been qualified in terms of effort and scope.
- [ ] after this meeting: date for feature freeze, QA period, and release date should be set in the project title.
- [ ] after this meeting: date for feature freeze, QA period, and release date should be set in the project title.
- When a story / bug fix is divided in parts, there should be a kickstart meeting with all the developers involved, so that all the devs have an good overview / understanding on:
- When a story / bug fix is divided in parts, there should be a kickstart meeting with all the developers involved, so that all the devs have a good overview / understanding on:
- How the story fits into the Ethereum tech.
- How the story fits into the Ethereum tech.
- How the backend (if any) works / will work (could be a smart contract).
- How the backend (if any) works / will work (could be a smart contract).
- How the frontend works / will work.
- How the frontend works / will work.
@ -73,7 +73,7 @@ Before starting coding, we should ensure all devs / contributors are aware of:
- Prioritised list of PRs / issues are tracked in a GitHub Project, Remix IDE issues are managed by a prioritized backlog.
- Prioritised list of PRs / issues are tracked in a GitHub Project, Remix IDE issues are managed by a prioritized backlog.
- Every story can be executed by a single developer or a group of 2 or more developers (depending on the size and complexity)
- Every story can be executed by a single developer or a group of 2 or more developers (depending on the size and complexity)
- Each dev should take the part he/she feels the most confortable with.
- Each dev should take the part he/she feels the most comfortable with.
- Later progress and discussion is updated directly on the issue or pull request (github).
- Later progress and discussion is updated directly on the issue or pull request (github).
- When a developer or team decides on the story they want to work on (at the start of milestone for instance), they assign themselves to the issue.
- When a developer or team decides on the story they want to work on (at the start of milestone for instance), they assign themselves to the issue.
- Documentation update should be done together with the story, or an issue with the label "documentation" has to be created.
- Documentation update should be done together with the story, or an issue with the label "documentation" has to be created.
@ -122,7 +122,7 @@ Before starting coding, we should ensure all devs / contributors are aware of:
# Milestone
# Milestone
- A milestone should **only** contain items we are sure to finish.
- A milestone should **only** contain items we are sure to finish.
- The end of a milestone trigger a new release.
- The end of a milestone triggers a new release.
- Milestone items and duration should take in account time spent in bugs fixing and support.
- Milestone items and duration should take in account time spent in bugs fixing and support.
- The team should commit to the milestone duration.
- The team should commit to the milestone duration.
- If a dev finish early he/she can help other to push remaining tasks.
- If a dev finish early he/she can help other to push remaining tasks.
@ -133,7 +133,7 @@ Before starting coding, we should ensure all devs / contributors are aware of:
# Milestone - Refinement meeting
# Milestone - Refinement meeting
- A meeting is organized 3 weeks after the beggining of a round. This aims to :
- A meeting is organized 3 weeks after the beginning of a round. This aims to :
- list what is left to do.
- list what is left to do.
- identify any blocker.
- identify any blocker.
- agree on a release date (which can be earlier 1 week after the meeting and not later than 4 weeks after the meeting.
- agree on a release date (which can be earlier 1 week after the meeting and not later than 4 weeks after the meeting.
@ -170,7 +170,7 @@ Before starting coding, we should ensure all devs / contributors are aware of:
### 1) Bugs:
### 1) Bugs:
- A critical bug should get the label `Blocker`, and every effort should be put to fix it.
- A critical bug should get the label `Blocker`, and every effort should be put to fix it.
- Addressing a non critical and non planned bug can be done:
- Addressing a non critical and non planned bug can be done:
- After having notified in the `remix-dev` channel if the bug does not involves UX or public API changes.
- After having notified in the `remix-dev` channel if the bug does not involve UX or public API changes.
- After a dev meeting (e.g the regular standup) if the bug involves any UX or public API changes.
- After a dev meeting (e.g the regular standup) if the bug involves any UX or public API changes.