forked from openwrt/luci
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
house-keeping: Enable Code Query Language (CodeQL) scanning
Code quality scanning (for JavaScript, JSON, HTML) for pushes and PRs to master. A repo scan takes roughly 4 minutes. Signed-off-by: Paul Donald <[email protected]>
- Loading branch information
1 parent
d88d40c
commit 198a2dd
Showing
2 changed files
with
134 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
name: "CodeQL config" | ||
|
||
# Paths example; these are completely different from the same keywords when used for on.<push|pull_request>.paths in a workflow | ||
# Restrict code scanning to files in specific directories by adding a paths array | ||
paths: | ||
- '**/*.js' | ||
- '**/*.json' | ||
- '**/*.htm*' | ||
# # Exclude files in specific directories from analysis by adding a paths-ignore array | ||
# paths-ignore: | ||
# - src/node_modules | ||
# - '**/*.test.js' | ||
|
||
# # Scanner packs example | ||
# packs: | ||
# # Use these packs for JavaScript and TypeScript analysis | ||
# javascript: | ||
# - scope/js-pack1 | ||
# - scope/js-pack2 | ||
|
||
|
||
# # Query filters example | ||
# query-filters: | ||
# - exclude: | ||
# problem.severity: | ||
# - warning | ||
# - recommendation | ||
|
||
# # Query filters example 2 | ||
# query-filters: | ||
# - exclude: | ||
# id: js/redundant-assignment | ||
# - exclude: | ||
# id: js/useless-assignment-to-local |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
name: "LuCI repo CodeQL Analysis" | ||
|
||
on: | ||
push: | ||
branches: [ "master" ] | ||
paths: | ||
# These help avoid unnecessary scans by limiting to those pushes (with commits) that contain JavaScript | ||
- '**/*.js' | ||
- '**/*.json' | ||
- '**/*.htm*' | ||
pull_request: | ||
branches: [ "master" ] | ||
# These paths(-ignore) set conditions that determine whether the actions in the workflow will run on a pull request. | ||
# They do not determine what files will be analyzed when the actions *are* run. | ||
paths: | ||
# These help avoid unnecessary scans by limiting to those PRs (with commits) that contain JavaScript | ||
- '**/*.js' | ||
- '**/*.json' | ||
- '**/*.htm*' | ||
# paths-ignore: | ||
# - '**/*.md' | ||
# - '**/*.txt' | ||
# Analyze also on a regular schedule | ||
# schedule: | ||
# Every Friday (5) at 13:33 | ||
# - cron: '33 13 * * 5' | ||
|
||
jobs: | ||
analyze: | ||
name: Analyze JavaScript and JSON | ||
# Runner size impacts CodeQL analysis time. To learn more, please see: | ||
# - https://gh.io/recommended-hardware-resources-for-running-codeql | ||
# - https://gh.io/supported-runners-and-hardware-resources | ||
# - https://gh.io/using-larger-runners | ||
# Consider using larger runners for possible analysis time improvements. | ||
runs-on: ${{ 'ubuntu-latest' }} | ||
timeout-minutes: ${{ 360 }} | ||
permissions: | ||
# required for all workflows | ||
security-events: write | ||
|
||
# only required for workflows in private repositories | ||
# actions: read | ||
# contents: read | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: [ 'javascript-typescript' ] | ||
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] | ||
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both | ||
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both | ||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support | ||
|
||
steps: | ||
- name: Check out repository | ||
uses: actions/checkout@v4 | ||
|
||
# Initializes the CodeQL tools for scanning. | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
config-file: ./.github/codeql/codeql-config.yml | ||
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. | ||
|
||
# For more 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 | ||
# Config example: | ||
# config: | | ||
# disable-default-queries: true | ||
# queries: | ||
# - uses: security-extended | ||
# query-filters: | ||
# - exclude: | ||
# tags: /cwe-020/ | ||
|
||
|
||
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). | ||
# If this step fails, then you should remove it and run the build manually (see below) | ||
# For LuCI we likely do not need to build. JS just runs. Very little C in the repo. | ||
# - name: Autobuild | ||
# uses: github/codeql-action/autobuild@v3 | ||
|
||
# ℹ️ Command-line programs to run using the OS shell. | ||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun | ||
|
||
# If the Autobuild fails above, remove it and uncomment the following three lines. | ||
# modify them (or add more) to build your code. Please refer to the EXAMPLE below for guidance. | ||
|
||
# - run: | | ||
# echo "Run, Build Application using script" | ||
# ./location_of_script_within_repo/buildscript.sh | ||
|
||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
with: | ||
category: "/language:${{matrix.language}}" |