Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#3931 closed task (complete)

Automate git repo sync to github

Reported by: tomek Owned by: stephen
Priority: medium Milestone: Kea1.0-beta
Component: build farm Version: git
Keywords: Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity: N/A
Sub-Project: DHCP Feature Depending on Ticket:
Estimated Difficulty: 0 Add Hours to Ticket: 0
Total Hours: 0 Internal?: no

Description (last modified by jreed)

It was discussed many times that the commits to our internal git repo should be automatically pushed to github.

Nowadays we do it manually and when we forget, people using github are unhappy.

Subtickets

Change History (8)

comment:1 Changed 4 years ago by fdupont

I don't believe there is an easy way to make transitive commits. But bind9 has a script for 9_9_sub which does this kind of things so we have at least an example...

comment:2 Changed 4 years ago by fdupont

bind9 script is util/branchsync.sh. Its doc says:

{{{# branchsync:
# pull in changes from a main BIND 9 release branch to a subscription
# branch (e.g., from v9_9 to v9_9_sub). This excludes commits from the
# 'tinderbox' user (copyright updates and doc regeneration) because those
# will be taken care of in the subscription branch itself.
#
# Most of the time, changes in the main branch will cherry-pick cleanly
# into the subscription branch. When one fails, we reset to the last
# commit that went cleanly, and send mail -- or, if running in interactive
# mode, we stop and allow the user to resolve conflicts.
#
# NOTE: This does not push changes to the repository; currently that's up
# to the caller.
#
# Usage:
# branchsync.sh [ -i ] [ -c ]
# -i: interactive mode (don't reset and send mail)
# -c: continue (conflicts are resolved; edit message and commit)}}}

so it is more an inter-branch than an inter-repo tool (i.e., not what we are looking for).

comment:3 Changed 4 years ago by fdupont

Googling gave these ideas:

-0- create a local repo.
-1- pull changes from the main repo to this local repo
-2- manage exclusion, special case, etc
-3- push the updated changes from the local repo to the github one

A priori 2 is empty but IMHO we should keep it in case we need it
1-2-3 must be done periodically with a cron (or a similar service).

Note this ticket can be only handled by an admin of the kea box (if the local repo is really local) and with the suitable github account.

comment:4 Changed 4 years ago by marcin

  • Milestone changed from Kea0.9.2 to Kea1.0
  • Priority changed from low to medium

Moving to 1.0 medium as per tickets scrub on 07/31/2015.

comment:5 Changed 4 years ago by hschempf

  • Owner set to stephen
  • Status changed from new to assigned

Per team meeting 7 Oct, Stephen will work on this (or ask Ops if help is needed)

comment:6 Changed 4 years ago by jreed

I am working on this but my notes are in different ticket system ... sorry ...
https://qatrac.isc.org/trac/ticket/124
(Stephen provided the hacked ruby scripts.)

comment:7 Changed 4 years ago by jreed

  • Description modified (diff)
  • Resolution set to complete
  • Status changed from assigned to closed

The "automation" task for this ticket is done. Some details are at
https://wiki.isc.org/bin/view/Main/KeaGithub

Next step is in different ticket system:
https://qatrac.isc.org/trac/ticket/147

So closing this ticket.

comment:8 Changed 4 years ago by tomek

  • Milestone changed from Kea1.0 to Kea1.0-beta

Milestone renamed

Note: See TracTickets for help on using tickets.