US2020387443A1PendingUtilityA1

Systems and methods for testing source code

Assignee: ATLASSIAN PTY LTDPriority: Nov 11, 2016Filed: Aug 23, 2020Published: Dec 10, 2020
Est. expiryNov 11, 2036(~10.3 yrs left)· nominal 20-yr term from priority
G06F 9/45558G06F 11/3698G06F 11/3672G06F 2009/45562G06F 8/71G06F 2009/45591G06F 2009/4557G06F 11/3688G06F 11/3664
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods and systems for testing source code are disclosed. The method includes mounting a shared memory and launching a controller container. The controller container is configured to retrieve a repository identifier of a repository on which the source code is stored, and a build descriptor including build steps and an indicator of a build VM image for generating the build. The method further includes storing the build steps in the shared memory, retrieving the source code from the repository based on the repository identifier, and storing the retrieved source code in the shared memory. The method also includes launching a build container based on the indicator of the build VM image, the build container configured to retrieve the build steps and the source code from the shared memory and perform the build on the source code based on the steps defined in the build steps.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method for testing source code, the method comprising:
 mounting a shared memory;   launching a controller container configured to retrieve a repository identifier of a repository on which the source code is stored, and a build descriptor including build steps, and an indicator of a build VM image for generating the build;   storing the build steps in the shared memory;   retrieving the source code from the repository based on the repository identifier;   storing the retrieved source code in the shared memory;   launching a build container based on the indicator of the build VM image, the build container configured to retrieve the build steps and the source code from the shared memory and perform the build on the source code based on the steps defined in the build steps.   
     
     
         2 . The method of  claim 1 , further comprising launching a repository container, the repository container configured to perform the steps of retrieving the source code from the repository and storing the retrieved source code in the shared memory. 
     
     
         3 . The method of  claim 2 , further comprising receiving, at the controller container, permission information for accessing the repository. 
     
     
         4 . The method of  claim 3 , further comprising:
 receiving, at the repository container, the repository identifier and the permission information from the controller container, and   accessing the repository using the repository identifier and the permission information to retrieve the source code.   
     
     
         5 . The method of  claim 1 , further comprising:
 retrieving the build VM image based on the indicator of the build VM image from the build descriptor; and   launching the build container from the retrieved build VM image.   
     
     
         6 . The method of  claim 1  further comprising:
 retrieving, by the controller container, results of the build from the build container; and 
 making the results available for inspection. 
 
     
     
         7 . The method of  claim 6 , wherein making the results available for inspection comprises forwarding the results to a feedback system. 
     
     
         8 . The method of  claim 1 , further comprising requesting a container management system to launch a container group, the shared memory being mounted in the container group, and the controller container and the build container being launched in the container group. 
     
     
         9 . The method of  claim 1  further comprising detecting that the source code in the repository is updated. 
     
     
         10 . The method of  claim 9 , wherein the detecting comprises receiving a notification that the source code is updated, the notification comprising the repository identifier. 
     
     
         11 . The method of  claim 10 , wherein the method for testing the source code is triggered upon receipt of the notification. 
     
     
         12 . A system for testing source code, the system comprising:
 a processor,   a communication interface, and   a non-transitory computer-readable storage medium storing sequences of instructions, which when executed by the processor, cause the processor to:   cause a controller container to be launched; the controller container configured to:
 cause a shared memory to be mounted, 
 retrieve a build description associated with a repository on which the source code is stored, the build description comprising build steps and an indicator of a build VM image for generating the build; 
 extract the build steps from the build description and store the build steps in the shared memory, 
 cause a repository container to be launched, the repository container configured to retrieve the source code from the repository and store the retrieved source code in the shared memory; 
 cause a build container to be launched based on the indicator of the build VM image, the build container configured to retrieve the build steps and the source code from the shared memory and perform the build on the source code based on the build steps. 
   
     
     
         13 . The system of  claim 12 , wherein the processor is configured to execute instructions that cause the processor to:
 detect that the repository is updated; and   retrieve the build description associated with the repository.   
     
     
         14 . The system of  claim 13 , wherein to detect that the repository is updated the processor is configured to receive a notification that the repository is updated, the notification comprising a repository identifier. 
     
     
         15 . The system of  claim 14  wherein the processor is configured to execute instructions that cause the processor to:
 generate a job descriptor based on the received notification and the build description, the job descriptor comprising one or more of a status field indicating a status of the build, a permissions field indicating permissions to access the repository, the repository identifier, and the build steps. 
 
     
     
         16 . The system of  claim 12 , wherein the processor is configured to execute instructions that cause the processor to pass a job descriptor identifier of the generated job descriptor and permission information to access the system to the controller container. 
     
     
         17 . The system of  claim 16 , wherein the processor is configured to execute instructions that cause the processor to pass the build description and a repository identifier to the controller container in response to receiving a request from the controller container, the request comprising the job descriptor identifier and the permission information. 
     
     
         18 . The system of  claim 15 , wherein the processor is configured to execute instructions that cause the processor to receive one or more of build results or build updates from the controller container and update the status of the build based on the build results or the build updates. 
     
     
         19 . The system of  claim 12 , wherein the processor is configured to execute instructions that cause the processor to request a container management system to launch a container group, the controller container launched within in the container group. 
     
     
         20 . One or more non-transient computer readable storage media storing instructions which, when executed by a processor, cause the processor to:
 cause a controller container to be launched; the controller container configured to:
 cause a shared memory to be mounted, 
 retrieve a build description associated with a source code repository from a source code management system, the build description comprising build steps and an indicator of a build VM image for generating the build; 
 extract the build steps from the build description and store the build steps in the shared memory, 
 cause a repository container to be launched, the repository container configured to retrieve source code from the source code repository and store the retrieved source code in the shared memory; 
 cause a build container to be launched based on the indicator of the build VM image, the build container configured to retrieve the build steps and the source code from the shared memory and perform the build on the source code based on the build steps.

Join the waitlist — get patent alerts

Track US2020387443A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.