GitHub Actions Overview
Last updated
Last updated
Adding a CI/CD capability into a project repository requires connecting a workflow yml
script created and managed in GitHub with the iCR server offering the analysis. It is assumed that there is a DevOps engineer, or someone with equivalent skill, who is already familiar with GitHub Actions and who will prepare iCR for integration into GitHub. The diagram below will be used as the reference for the steps.
Step 1. GitHub Actions employs a framework where customizable functionality can be easily added and controlled. A yml
script is added to any repository where CI/CD automation is requested. iCR is invoked by executing an OpenRefactory supplied Docker container that is named in the yml
script. The container
tag along with the image
tag defines the name of the iCR container. You may want to view a sample yml
script in Preparing GitHub WorkFlow](./preparing-github-workflow). The script determines the manner in which iCR will be triggered. The script provides the iCR server with necessary details about the project. GitHub Actions Secrets specify the arguments to the script.
Step 2. When the trigger specified in the yml
occurs, the script is executed. The Navigator will be requested to start an analysis using information provided from the script secrets.
Step 3. The Navigator uses the information in the GitHub Actions Secrets to determine the specific branch to be analyzed from this repository. The Navigator will automatically fetch the source code of the configured repository in GitHub and initiate an analysis.
Step 4. Once the analysis completes, the user is notified via an email message. The email is sent to the address defined by one of the secrets from Step 1. An email address MUST be provided so that iCR has a way of not only signaling completion, but also a way of communicating any errors that may have occurred.
Step 5. Once notified that analysis is complete and that results are available, the user may login directly to the iCR server which ran the analysis. From that login, the user can enter the Reviewer to process results in exactly the same manner as described in the Reviewing Your Results.