Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Story: Perform Twisted ticket migration #16

Open
39 of 41 tasks
danuker opened this issue Nov 3, 2021 · 5 comments
Open
39 of 41 tasks

Story: Perform Twisted ticket migration #16

danuker opened this issue Nov 3, 2021 · 5 comments
Assignees

Comments

@danuker
Copy link
Contributor

danuker commented Nov 3, 2021

Migrate the Twisted tickets:

Latest benchmark if nothing goes wrong: Importing the 8 sample tickets took 3 minutes (2.666 tickets/minute; all Twisted tickets would take 64.66 hours if the sample is representative)

Script modification:

Migration:

twisted-trac-staging

  • generate placeholder tickets until reaching the same ID
  • import twisted-trac-staging tickets

twisted/twisted

  • If there have been previous partial migrations:
    • Get the latest milestones_created.tsv
    • Get the latest tickets_created.tsv
    • Get the one and only tickets_expected_gold.tsv (generated from a dry-run for all repos at the beginning, to allow ID preservation for linking)
  • Use proper credentials (twisted-trac) and other settings in config.py
  • Uncomment Twisted contributors from ASSIGNABLE_USERS in config.py
  • Disable pre-commit
  • Make sure https://github.com/twisted/twisted/settings/key_links has trac# prefix going to https://twistedmatrix.com/trac/ticket/<num>
  • Disable Trac edits
  • Get latest trac.db using postgres-to-sqlite.sh: check if have latest events in timeline
  • Get latest Trac attachments, publish them to https://github.com/twisted/twistedmatrix.com-trac-attachments
  • Dry-run
    • check assigned issue numbers (compare fresh tickets_expected.tsv with tickets_expected_gold.tsv)
  • Update the plan to limit interfaction only to colaborators "Limit to repository collaborators" - https://github.com/twisted/twisted/settings/interaction_limits
  • Update the Twisted PR and issue templates to ask the contributor to wait for the migration to be complete, since opening a PR/issue will cause a ticket in migration to have a misaligned ID.
  • Fix ticket links of the form ticket:1234 in the case of tickets with a different ID on GitHub versus Trac.

From Adi:

Hooks server (unrelated to migration):

@danuker danuker self-assigned this Nov 3, 2021
@danuker danuker mentioned this issue Nov 3, 2021
16 tasks
@adiroiban
Copy link
Member

adiroiban commented Nov 4, 2021

The migration should start by disabling trac edits for all users other than the person doing the migration.
Trac read-only can continue to be active

Go to https://trac.chevah.com/admin/general/perm and make sure to keep trac-admin only to yourself


Also, I think the step would be to create the config first :)

Before the migration we will make sure that both Trac and Github are not updated

The webhook for githhub automation is disabled from here https://github.com/organizations/chevah/settings/hooks/5189828

@danuker danuker changed the title Perform ticket migration Perform Twisted ticket migration Nov 16, 2021
@adiroiban
Copy link
Member

@danuker can this be closed?

@danuker
Copy link
Contributor Author

danuker commented Feb 22, 2022

No, this is a "story" ticket keeping track of progress (so far, none).

@adiroiban
Copy link
Member

Ok. Np.

@danuker danuker changed the title Perform Twisted ticket migration Story: Perform Twisted ticket migration Apr 7, 2022
@adiroiban
Copy link
Member

adiroiban commented Apr 8, 2022

The following Trac ticket metadata should be converted into labels

  • status - closed | fixed | new | duplicate | re-open ... etc
  • type - defect | enhancement | task | release blocker
  • priority
  • component

Milestone should be assigned to GitHub Milestones

For all the other "free text" metadata we will only have them as machine readable text:

  • reporter
  • author
  • keywords
  • cc
  • branch

But we should also include status, type, priority...etc as machine readable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants