Project

General

Profile

Github Migration Plan » History » Version 14

« Previous - Version 14/20 (diff) - Next » - Current version
Patrick Gartung, 01/17/2020 02:29 PM


Github Migration Plan

Prior to migration

  • Complete workflow testing
  • Update documentation
    • On migrating branches page: add whitespace removal to the procedure
    • Provide guidance on sharing development within a branch
    • Provide guidance on errors in "other" experiments
  • Check that old histories cannot be re-committed to any repository

Tasks for day of migration

Remove/rename the test instances of the larsoft repos on github (Patrick)

Create new larsoft repos (Patrick)

  • Navigate to https://github.com/LArSoft
  • The repositories to be migrated:
    • larana, larbatch, larcore, larcorealg, larcoreobj, lardata, lardataalg, lardataobj, lareventdisplay, larevt, larexamples, larg4, larpandora, larpandoracontent, larreco, larsim, larsoft, larsoftobj, larutils, larwirecell
  • for each repo click New and enter repo name
    • click settings and ensure LArSoft/Core group has ownership not just the person doing the repo creation. (The web hook settings will be handled by cms-bot scripts.)

Run the trailing white-space script on the head of develop and commit the changes to the Redmine repo (Lynn)

  • Need contents of the script or a link to the script.
  • Best to have a link to the script that will run over all the repositories, if there is one

Running the white-space script on pull-requests is sufficient. A campaign of pull requests to cleanup whitespace can happen after the migration.

Change the Redmine repos post-commit-hook script to only allow pushes to branches named feature/* (Lynn consulting with MarcM)

  • Need contents of the script here, or a link to the script
  • Best to have a link to the script that will run over all the repositories, if there is one

Clone the Redmine repos, truncate the history and push the appropriate tags and branches to github (Patrick)

ssh scisoftbuild01.fnal.gov
cd /scratch/gartung/srcs
mkdir working
cd working
eval $(ssh-agent)
ssh-add
kinit
/scratch/gartung/srcs/updateFBR

Truncating_commit_history_at_svn_to_git_transition updateFBR linked as updateFBR.sh

  • Branches to be migrated
    • master
    • develop
    • v*
  • Tags to be migrated
    • Need the list...
  • Any scripts used to perform these tasks?

Run the cms-bot scripts to set up the webhooks and PR labels for the larsoft repos (Patrick)

ssh gartung.fnal.gov
export GITHUBTOKEN=$(cat /web/sites/s/scd-ci.fnal.gov/data/FNALbuild-Github-personal-access-token)
cd cms-bot
./add-externals-gh-labels.py -n -u
./add-externals-gh-labels.py -u
./create-github-hooks -n -u
./create-github-hooks -u

Remove phrases with testing from wiki pages

https://cdcvs.fnal.gov/redmine/projects/larsoft/search?utf8=✓&scope=subprojects&wiki_pages=1&q=testing

Fallbacks

Issues with approval workflow (low risk)

  • Postpone use of approval workflow while debugging

Issues with some other major aspect of migration (low risk)

  • Postpone migration, revert to Redmine