summaryrefslogtreecommitdiffhomepage
path: root/.github/workflows/codeql.yml
diff options
context:
space:
mode:
authorPaul Donald <newtwen@gmail.com>2024-01-31 23:06:20 +0100
committerPaul Donald <newtwen@gmail.com>2024-01-31 23:38:41 +0100
commit198a2dd20e0d067739e8de70c86a9b3900fdca18 (patch)
tree8c5566d5870fc27d2899a803563c9de82556de62 /.github/workflows/codeql.yml
parentd88d40c24d06b4f2df8306e16aa137349da33f2d (diff)
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 <newtwen@gmail.com>
Diffstat (limited to '.github/workflows/codeql.yml')
-rw-r--r--.github/workflows/codeql.yml100
1 files changed, 100 insertions, 0 deletions
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 0000000000..798e4c45b7
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -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}}"