Setup a CI pipeline¶
1. Obtain Personal access token and add it to GitHub secrets¶
Create a new personal access token for your GitHub repository. You may do it by going to “Settings” -> “Developer settings” page of your GitHub account. Select “Personal access token” tab and create a new token.
Add this token to your repository’s secrets. Go to “Settings” within your repository page and select “Secrets.” Add a new secret by pasting the access token in the Value field and giving a meaning name (e.g., PAT).
2: Add your Designite key to secrets (optional)¶
If you have Designite’s professional (or academic) license key, add the key to your GitHub’s repository secrets. Let us call it D_KEY
.
If your codebase is less than 50,000 lines of code, it won’t impact you. If your project is larger, you will need to specify the license key with this action.
Check our licensing page for more information.
3.A: Add a GitHub Actions workflow file¶
Tip
You may use a GitHub action described in step 3.B especially if there are no customization needed.
This is the last and very crucial step. Create a folder .github
on your root directory of the project and create workflows
folder inside the .github
folder. Create a workflow file (say actions.yml
) in the newly created “workflows” folder. The contents of the action.yml file depends upon your project language and tasks.
Sample actions.yml file for a Java project
name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build with Maven
run: mvn clean install
- name: Download DesigniteJava
run: wget "https://www.designite-tools.com/assets/DesigniteJava.jar"
- name: Analyze project with DesigniteJava
run: |
java -jar DesigniteJava.jar -ci -repo $GITHUB_REPOSITORY -pat ${{ secrets.PAT }} -k ${{ secrets.D_KEY }} -o designite_output
3.B Use DesigniteJava Action¶
It is an alternative (and simpler) step to 3.A.
Create a folder .github
on your root directory of the project and create workflows
folder inside the .github
folder. Create a workflow file (say actions.yml
) in the newly created workflows folder. The contents of the action.yml
file depend upon your project language and tasks. A sample action file is provided below.
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: DesigniteJava_action
uses: DesigniteTools/DJAction@v1.0.0
with:
PAT: ${{ secrets.PAT }}
Tip
Check out our post on Streamlining Incremental Code Analysis with GitHub Actions for a more refined use-case.