Skip to content

30-SAST-CodeQL

30-SAST-CodeQL #134

# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: 30-SAST-CodeQL
on:
push:
branches: [ "main" ]
paths-ignore:
- '**/*.md'
- '**/*.txt'
pull_request:
# These types are all required for CRDA to scan pull requests correctly and securely.
types: [ opened, synchronize, reopened, labeled, edited ]
paths-ignore:
- '**/*.md'
- '**/*.txt'
# to make sure new SAST rules are applied also to production code -> make sure the default branch is "current Prod-Release".
schedule:
- cron: '35 12 * * 1'
workflow_call:
workflow_dispatch:
permissions:
contents: read
jobs:
CodeQL:
name: ci/codeql
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'java-kotlin', 'javascript-typescript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v3
# # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# 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.
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up JDK 11
if: matrix.language == 'java-kotlin'
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'temurin'
cache: maven
- name: Cache build
if: matrix.language == 'java-kotlin'
id: cache-build
uses: actions/cache@v3
with:
path: todo/target
key: ${{ runner.os }}-target
- name: Cache m2
if: matrix.language == 'java-kotlin'
id: cache-deps
uses: actions/cache@v3
with:
path: ~/.m2/**/*.jar
key: ${{ runner.os }}-m2
- name: Build with mvnw
if: matrix.language == 'java-kotlin'
working-directory: todo
run: ./mvnw package -DskipTests
- name: Perform CodeQL Analysis
uses: github/codeql-action/[email protected]
with:
category: "/language:${{matrix.language}}"
- name: Upload artifact
if: matrix.language == 'java-kotlin'
uses: actions/[email protected]
with:
name: target
path: ${{github.workspace}}/todo/target