summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiejunZhou <[email protected]>2023-07-13 13:09:47 +0800
committerGitHub <[email protected]>2023-07-13 13:09:47 +0800
commitfd2bf7c19a03da5b8e5a9dfd5a0e709de1e833ff (patch)
tree1e8c1228b7eaa105d6c32b720348811ce3c5549e
parent8ff9910ddc089e7af91e4089b26f225aba5d7eb7 (diff)
Enable CodeQL (#285)
* Enable CodeQL * Build cortex-m0 in CodeQL * Trigger the CodeQL by cron only
-rw-r--r--.github/workflows/codeql.yml109
1 files changed, 109 insertions, 0 deletions
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
new file mode 100644
index 00000000..ed4452ff
--- /dev/null
+++ b/.github/workflows/codeql.yml
@@ -0,0 +1,109 @@
+# 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.
+#
+# ******** NOTE ********
+# We have attempted to detect the languages in your repository. Please check
+# the `language` matrix defined below to confirm you have the correct set of
+# supported CodeQL languages.
+#
+name: "CodeQL"
+
+on:
+ schedule:
+ - cron: '33 1 * * 6'
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
+ timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ strategy:
+ fail-fast: false
+ matrix:
+ language: [ 'cpp' ]
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
+ # Use only 'java' to analyze code written in Java, Kotlin or both
+ # Use only 'javascript' 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: 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.
+
+ # 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
+
+
+ # 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)
+ #- name: Autobuild
+ # uses: github/codeql-action/autobuild@v2
+
+
+ # â„šī¸ 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 if your project, please refer to the EXAMPLE below for guidance.
+
+ #- run: |
+ # echo "Run, Build Application using script"
+ # ./scripts/install.sh
+ # ./test/tx/cmake/run.sh build
+
+ # Store the arm compilers in the cache to speed up builds
+ - name: Cache arm-none-eabi-gcc tools
+ id: cache-arm-gcc
+ uses: actions/cache@v1
+ with:
+ path: $HOME/arm-none-eabi-gcc-9-2019-q4
+ key: ${{ runner.os }}-arm-gcc-9-2019-q4
+
+ # Get the arm-non-eabi-gcc toolchain
+ - name: Install arm-none-eabi-gcc
+ uses: fiam/arm-none-eabi-gcc@v1
+ if: steps.cache-arm-gcc.outputs.cache-hit != 'true'
+ with:
+ release: '9-2019-q4' # The arm-none-eabi-gcc release to use.
+ directory: $HOME/arm-none-eabi-gcc-9-2019-q4
+
+ # Get CMake into the environment
+ - name: Install cmake 3.19.1
+ uses: lukka/[email protected]
+
+ # Get Ninja into the environment
+ - name: Install ninja-build
+ uses: seanmiddleditch/gha-setup-ninja@v3
+
+ # Prepare the build system
+ - name: Prepare build system
+ run: cmake -Bbuild -DCMAKE_TOOLCHAIN_FILE=./cmake/cortex_m0.cmake -GNinja .
+ env:
+ PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH"
+
+ - name: Compile and link
+ run: cmake --build ./build
+ env:
+ PATH: "$HOME/arm-none-eabi-gcc-9-2019-q4/bin:$PATH"
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v2
+ with:
+ category: "/language:${{matrix.language}}"