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 'autosave' into Atom repo #17834
Copy link
Copy link
Closed
Labels
Description
This issue tracks the steps necessary to migrate the autosave 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/autosaverepository
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-autosave-package - Delete Atom's
node_modulesfolder if you've built there before and make sure Atom'spackage-lock.jsonfile is unmodified - Clone the
atom/autosaverepo into thepackagespath of your local Atom repository and then delete its.gitsubfolder - Delete any unnecessary repo configuration files in the
packages/autosavefolder 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) - Edit Atom's
package.jsonfile to change the following:- Update the
autosaveentry inpackageDependenciesto reflect the local path of the package:"autosave": "file:./packages/autosave", - Delete the
autosaveentry in thedependenciessection since it may contain a hardcoded tarball link. This will help avoid issues in the next step - Change the
repositoryfield to point to the main repo URLhttps://github.com/atom/atom
- Update the
- Run a full Atom build using
script/buildand verify that there are no unexpected build errors - 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.
- Update the second column of the autosave row in
packages/README.mdto reflect the new local path for the package:[`./packages/autosave`](./autosave) - 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 'autosave' into ./packages
Phase 3 - Make sure the package works and send a PR
- Run the full suite of Atom tests with
script/testand verify that they pass locally - If any tests fail, investigate and fix them then commit the fixes to your branch
- Create a PR against
atom/atomto verify that CI passes - Once CI is clean and the PR is approved, merge it
Phase 4 - Archive the autosave repo
- Move all existing issues from the
autosaverepo toatom/atomusing github-issue-mover or a script - Add a label titled
packages/autosaveto 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/autosave), please direct all issues and pull requests there in the future! --- - Send a PR to the
autosaverepository 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. - 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