This repository was archived by the owner on Mar 3, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17.3k
This repository was archived by the owner on Mar 3, 2023. It is now read-only.
Migrate core package 'metrics' into Atom repo #18276
Copy link
Copy link
Closed
Labels
Description
This issue tracks the steps necessary to migrate the metrics package into the core atom/atom repository under the packages path:
Migration Checklist
Phase 1 - Prepare repo for migration
- Merge or close existing pull requests on the
atom/metricsrepository
Some guidelines for merging vs closing PRs:
- Merge when the PR is small, useful, has no merge conflicts with
master, and has passing tests - Close when the changes are non-trivial, the PR has conflicts with
master, or there are failing tests in CI
If you close a PR, let the user know that we are currently moving the repository over to atom/atom so they should feel free to reopen the pull request there once the package code has been migrated.
Phase 2 - Migrate the package code
- Create a fresh branch off
masterin your local clone ofatom/atomwith the namemigrate-metrics-package - Delete Atom's
node_modules,script/node_modules, andapm/node_modulesfolders if they exist - Make sure Atom's
package-lock.jsonfile is unmodified, usegit checkout -- package-lock.jsonif it isn't - Clone the
atom/metricsrepo into thepackagespath of your local Atom repository and then delete its.gitsubfolder - Delete any unnecessary repo configuration files in the
packages/metricsfolder likeappveyor.yml,.travis.yml,ISSUE_TEMPLATE.md, andPULL_REQUEST_TEMPLATE.md - Remove any information from the package's
README.mdwhich will be inaccurate after the migration is complete (e.g. CI status badges or contribution instructions) - Open
packages/metrics/package.jsonand change therepositoryfield to point to the main repo URLhttps://github.com/atom/atom - Open Atom's
package.jsonfile to change the following:- Update the
metricsentry inpackageDependenciesto reflect the local path of the package:"metrics": "file:./packages/metrics", - Delete the
metricsentry in thedependenciessection since it may contain a hardcoded tarball link. This will help avoid issues in the next step
- Update the
- Open
packages/README.mdand perform the following edits:- Update the second column of the metrics row to reflect the new local path for the package:
[`./metrics`](./metrics) - Delete the following line toward the end of the file:
[metrics]: https://github.com/atom/metrics
- Update the second column of the metrics row to reflect the new local path for the package:
- Run a full Atom build using
script/buildand verify that there are no unexpected build errors - Commit the migrated package code and any changes to Atom's
package-lock.jsonfiles to your branch using this commit message::arrow_right: Migrate core package 'metrics' into ./packages
Phase 3 - Make sure the package works and send a PR
- Launch the Atom binary in the
./outfolder and manually verify that the migrated package is working without any obvious issues. For example, if you're migrating a color theme, turn on that theme to make sure that it changes the editor colors as expected. - Open the Chrome Developer Tools console (Ctrl+Shift+I or Cmd+Option+I) and ensure that there are no errors written there. If there are, add them to this issue and investigate.
- Create a PR against
atom/atomwith the title "➡ Migrate core package 'metrics' into ./packages". For convenience, you may use the following message in your PR body:### Description of the Change This PR migrates the core [`metrics`](https://github.com/atom/metrics) package into `atom/atom`. See issue #18276 for more information. - If any CI tests fail, investigate and fix the failures until CI goes green
- Once CI is clean and the PR is approved, merge it
Phase 4 - Archive the metrics repo
- Move all existing issues from the
metricsrepo toatom/atomusing github-issue-mover or a script - Add a label titled
packages/metricsto the migrated issues so that they can be found easily - Edit the original package repo's README.md (don't commit directly) to point contributors to the code's new home in
atom/atom. You can use the following text:### This package is now a part of the [core Atom repository](https://github.com/atom/atom/tree/master/packages/metrics), please direct all issues and pull requests there in the future! --- - Send a PR to the
metricsrepository with the updated README.md so that watchers will be notified of the change. You do not need to wait for reviews, it can be merged immediately. You can use the following PR description text:As of **INSERT MIGRATION PR LINK**, the `metrics` package is now a part of the core Atom repository. This pull request updates `README.md` to reflect that fact. We'll be archiving this repository shortly. /cc atom/atom#18276 - Archive the package repository by going to its Settings page, scroll down to the "Danger Zone" section and click "Archive this Repository"
Migration is now complete! 🎉
Reactions are currently unavailable