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 'dalek' into Atom repo #17838
Copy link
Copy link
Closed
Labels
Description
This issue tracks the steps necessary to migrate the dalek 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/dalekrepository
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-dalek-package - Delete Atom's
node_modulesfolder if you've built there before and make sure Atom'spackage-lock.jsonfile is unmodified - Clone the
atom/dalekrepo into thepackagespath of your local Atom repository and then delete its.gitsubfolder - Delete any unnecessary repo configuration files in the
packages/dalekfolder 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
dalekentry inpackageDependenciesto reflect the local path of the package:"dalek": "file:./packages/dalek", - Delete the
dalekentry 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 dalek row in
packages/README.mdto reflect the new local path for the package:[`./packages/dalek`](./dalek) - 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 'dalek' 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 dalek repo
- Move all existing issues from the
dalekrepo toatom/atomusing github-issue-mover or a script - Add a label titled
packages/dalekto 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/dalek), please direct all issues and pull requests there in the future! --- - Send a PR to the
dalekrepository 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