Exemplo n.º 1
0
 def test_parse_date(self):
     """
     Parse string representing date in ISO 8601 format (as returned by GitHub).
     """
     date = github.parse_date("2016-10-11T15:10:30Z")
     self.assertIsInstance(date, datetime)
     self.assertEqual(date.year, 2016)
     self.assertEqual(date.month, 10)
     self.assertEqual(date.day, 11)
     self.assertEqual(date.hour, 15)
     self.assertEqual(date.minute, 10)
     self.assertEqual(date.second, 30)
Exemplo n.º 2
0
 def test_parse_date(self):
     """
     Parse string representing date in ISO 8601 format (as returned by GitHub).
     """
     date = github.parse_date("2016-10-11T15:10:30Z")
     self.assertIsInstance(date, datetime)
     self.assertEqual(date.year, 2016)
     self.assertEqual(date.month, 10)
     self.assertEqual(date.day, 11)
     self.assertEqual(date.hour, 15)
     self.assertEqual(date.minute, 10)
     self.assertEqual(date.second, 30)
Exemplo n.º 3
0
def shut_down_obsolete_pr_sandboxes():
    """
    Shut down instances whose PRs got merged (more than) one week ago.
    """
    for instance in OpenEdXInstance.objects.filter(watchedpullrequest__isnull=False):
        pr = github.get_pr_info_by_number(
            instance.watchedpullrequest.target_fork_name,
            instance.watchedpullrequest.github_pr_number
        )
        if pr['state'] == 'closed':
            closed_at = github.parse_date(pr['closed_at'])
            now = datetime.now()
            if sufficient_time_passed(closed_at, now, 7):
                instance.shut_down()
Exemplo n.º 4
0
def shut_down_obsolete_pr_sandboxes():
    """
    Shut down instances whose PRs got merged (more than) one week ago.
    """
    for instance in OpenEdXInstance.objects.filter(watchedpullrequest__isnull=False):
        pr = github.get_pr_info_by_number(
            instance.watchedpullrequest.target_fork_name,
            instance.watchedpullrequest.github_pr_number
        )
        if pr['state'] == 'closed' and not instance.ref.is_archived:
            closed_at = github.parse_date(pr['closed_at'])
            now = datetime.now()
            if sufficient_time_passed(closed_at, now, 7):
                instance.logger.info("Shutting down obsolete sandbox instance")
                instance.archive()