Navigation Menu

Skip to content
This repository has been archived by the owner on Mar 3, 2023. It is now read-only.

Migrate core package 'exception-reporting' into Atom repo #17842

Closed
24 tasks done
daviwil opened this issue Aug 13, 2018 · 2 comments
Closed
24 tasks done

Migrate core package 'exception-reporting' into Atom repo #17842

daviwil opened this issue Aug 13, 2018 · 2 comments

Comments

@daviwil
Copy link
Contributor

daviwil commented Aug 13, 2018

This issue tracks the steps necessary to migrate the exception-reporting package into the core atom/atom repository under the packages path:

Migration Checklist

Phase 1 - Prepare repo for migration

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 master in your local clone of atom/atom with the name migrate-exception-reporting-package
  • Delete Atom's node_modules folder if you've built there before and make sure Atom's package-lock.json file is unmodified
  • Clone the atom/exception-reporting repo into the packages path of your local Atom repository and then delete its .git subfolder
  • Delete any unnecessary repo configuration files in the packages/exception-reporting folder like appveyor.yml, .travis.yml, ISSUE_TEMPLATE.md, and PULL_REQUEST_TEMPLATE.md
  • Remove any information from the package's README.md which will be inaccurate after the migration is complete (e.g. CI status badges or contribution instructions)
  • Edit Atom's package.json file to change the following:
    • Update the exception-reporting entry in packageDependencies to reflect the local path of the package:
      "exception-reporting": "file:./packages/exception-reporting",
      
    • Delete the exception-reporting entry in the dependencies section since it may contain a hardcoded tarball link. This will help avoid issues in the next step
    • Change the repository field to point to the main repo URL https://github.com/atom/atom
  • Run a full Atom build using script/build and verify that there are no unexpected build errors
  • Launch the Atom binary in the ./out folder 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 exception-reporting row in packages/README.md to reflect the new local path for the package:
    [`./packages/exception-reporting`](./exception-reporting)
    
  • Commit the migrated package code and any changes to Atom's package-lock.json files to your branch using this commit message:
    :arrow_right: Migrate core package 'exception-reporting' into ./packages
    

Phase 3 - Make sure the package works and send a PR

  • Run the full suite of Atom tests with script/test and 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/atom to verify that CI passes
  • Once CI is clean and the PR is approved, merge it

Phase 4 - Archive the exception-reporting repo

  • Move all existing issues from the exception-reporting repo to atom/atom using github-issue-mover or a script
  • Add a label titled packages/exception-reporting to 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/exception-reporting), please direct all issues and pull requests there in the future!
    
    ---
    
  • Send a PR to the exception-reporting repository 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! 🎉

@daviwil daviwil closed this as completed Sep 28, 2018
@lock
Copy link

lock bot commented Mar 27, 2019

This issue has been automatically locked since there has not been any recent activity after it was closed. If you can still reproduce this issue in Safe Mode then please open a new issue and fill out the entire issue template to ensure that we have enough information to address your issue. Thanks!

@lock lock bot locked as resolved and limited conversation to collaborators Mar 27, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant