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

Migrate core package 'solarized-light-syntax' into Atom repo #18281

Closed
26 tasks done
daviwil opened this issue Oct 19, 2018 · 2 comments
Closed
26 tasks done

Migrate core package 'solarized-light-syntax' into Atom repo #18281

daviwil opened this issue Oct 19, 2018 · 2 comments
Assignees

Comments

@daviwil
Copy link
Contributor

daviwil commented Oct 19, 2018

This issue tracks the steps necessary to migrate the solarized-light-syntax 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-solarized-light-syntax-package
  • Delete Atom's node_modules, script/node_modules, and apm/node_modules folders if they exist
  • Make sure Atom's package-lock.json file is unmodified, use git checkout -- package-lock.json if it isn't
  • Clone the atom/solarized-light-syntax 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/solarized-light-syntax 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)
  • Open packages/solarized-light-syntax/package.json and change the repository field to point to the main repo URL https://github.com/atom/atom
  • Open Atom's package.json file to change the following:
    • Update the solarized-light-syntax entry in packageDependencies to reflect the local path of the package:
      "solarized-light-syntax": "file:./packages/solarized-light-syntax",
      
    • Delete the solarized-light-syntax entry in the dependencies section since it may contain a hardcoded tarball link. This will help avoid issues in the next step
  • Open packages/README.md and perform the following edits:
    • Update the second column of the solarized-light-syntax row to reflect the new local path for the package:
      [`./solarized-light-syntax`](./solarized-light-syntax)
      
    • Delete the following line toward the end of the file:
      [solarized-light-syntax]: https://github.com/atom/solarized-light-syntax
      
  • Run a full Atom build using script/build and verify that there are no unexpected build errors
  • 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 'solarized-light-syntax' into ./packages
    

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

  • 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.
  • Create a PR against atom/atom with the title "➡ Migrate core package 'solarized-light-syntax' into ./packages". For convenience, you may use the following message in your PR body:
    ### Description of the Change
    
    This PR migrates the core [`solarized-light-syntax`](https://github.com/atom/solarized-light-syntax) package into `atom/atom`.  See issue #18281 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 solarized-light-syntax repo

  • Move all existing issues from the solarized-light-syntax repo to atom/atom using github-issue-mover or a script
  • Add a label titled packages/solarized-light-syntax 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/solarized-light-syntax), please direct all issues and pull requests there in the future!
    
    ---
    
  • Send a PR to the solarized-light-syntax 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. You can use the following PR description text:
    As of **INSERT MIGRATION PR LINK**, the `solarized-light-syntax` 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#18281
    
  • 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! 🎉

@ryanolsonx
Copy link

I've created a PR that accomplishes phases 1-3. Once that PR is merged, I'll need someone to do phase 4, as I don't have control of the solarized-light-syntax repo.

@lock
Copy link

lock bot commented Jul 3, 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 Jul 3, 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

3 participants