Static Analysis #138
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Static Analysis" | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 5 * * *" | |
jobs: | |
codeql: | |
name: CodeQL | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# Initializes the CodeQL tools for scanning. | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v3 | |
with: | |
languages: "python" | |
# If you wish to specify custom queries, you can do so here or in a config file. | |
# By default, queries listed here will override any specified in a config file. | |
# Prefix the list here with "+" to use these queries and those in the config file. | |
# queries: ./path/to/local/query, your-org/your-repo/queries@main | |
- name: Autobuild | |
uses: github/codeql-action/autobuild@v3 | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v3 | |
ossar: | |
name: OSSAR | |
# OSSAR runs on windows-latest. | |
# ubuntu-latest and macos-latest support coming soon | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# Ensure a compatible version of dotnet is installed. | |
# The [Microsoft Security Code Analysis CLI](https://aka.ms/mscadocs) is built with dotnet v3.1.201. | |
# A version greater than or equal to v3.1.201 of dotnet must be installed on the agent in order to run this action. | |
# GitHub hosted runners already have a compatible version of dotnet installed and this step may be skipped. | |
# For self-hosted runners, ensure dotnet version 3.1.201 or later is installed by including this action: | |
# - name: Install .NET | |
# uses: actions/setup-dotnet@v1 | |
# with: | |
# dotnet-version: '3.1.x' | |
# Run open source static analysis tools | |
- name: Run OSSAR | |
uses: github/ossar-action@v1 | |
id: ossar | |
# Upload results to the Security tab | |
- name: Upload OSSAR results | |
uses: github/codeql-action/upload-sarif@v3 | |
with: | |
sarif_file: ${{ steps.ossar.outputs.sarifFile }} | |
semgrep: | |
name: Semgrep | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout project source | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install Semgrep | |
run: python3 -m pip install semgrep | |
- name: Run Semgrep | |
env: | |
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} | |
run: semgrep ci --sarif > semgrep.sarif | |
# Upload SARIF file generated in previous step | |
- name: Upload SARIF file | |
uses: github/codeql-action/upload-sarif@v3 | |
with: | |
sarif_file: semgrep.sarif | |
if: always() |