diff mbox series

[1/1] Create codeql-analysis.yml

Message ID 20201006063916.17324-1-xypron.glpk@gmx.de
State RFC
Delegated to: Tom Rini
Headers show
Series [1/1] Create codeql-analysis.yml | expand

Commit Message

Heinrich Schuchardt Oct. 6, 2020, 6:39 a.m. UTC
Enable CodeQL Analysis on Github.
CodeQL produces a static code analysis.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
I am not sure that everybody wants this enabled on his Github repository.
But we should look into the warnings.

You can see example output here:

https://github.com/xypron2/u-boot/security/code-scanning
---
 .github/workflows/codeql-analysis.yml | 72 +++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)
 create mode 100644 .github/workflows/codeql-analysis.yml

--
2.28.0

Comments

Tom Rini Oct. 6, 2020, 2:27 p.m. UTC | #1
On Tue, Oct 06, 2020 at 08:39:16AM +0200, Heinrich Schuchardt wrote:

> Enable CodeQL Analysis on Github.
> CodeQL produces a static code analysis.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
> I am not sure that everybody wants this enabled on his Github repository.
> But we should look into the warnings.
> 
> You can see example output here:
> 
> https://github.com/xypron2/u-boot/security/code-scanning

That output is a 404 for me, is it perhaps restricted to just your
login?
diff mbox series

Patch

diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000000..6035378c7a
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,72 @@ 
+# 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: "CodeQL"
+
+on:
+  push:
+    branches: [efi-2021-01]
+  pull_request:
+    # The branches below must be a subset of the branches above
+    branches: [efi-2021-01]
+  schedule:
+    - cron: '0 11 * * 3'
+
+jobs:
+  analyze:
+    name: Analyze
+    runs-on: ubuntu-latest
+
+    strategy:
+      fail-fast: false
+      matrix:
+        # Override automatic language detection by changing the below list
+        # Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
+        language: ['cpp', 'python']
+        # Learn more...
+        # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@v2
+      with:
+        # We must fetch at least the immediate parents so that if this is
+        # a pull request then we can checkout the head.
+        fetch-depth: 2
+
+    # If this run was triggered by a pull request event, then checkout
+    # the head of the pull request instead of the merge commit.
+    - run: git checkout HEAD^2
+      if: ${{ github.event_name == 'pull_request' }}
+
+    # Initializes the CodeQL tools for scanning.
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v1
+      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.
+        # queries: ./path/to/local/query, your-org/your-repo/queries@main
+
+    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
+    # If this step fails, then you should remove it and run the build manually (see below)
+    # - name: Autobuild
+    #  uses: github/codeql-action/autobuild@v1
+
+    # ℹī¸ Command-line programs to run using the OS shell.
+    # 📚 https://git.io/JvXDl
+
+    # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines
+    #    and modify them (or add more) to build your code if your project
+    #    uses a compiled language
+
+    - run: |
+       sudo apt-get install bc bison build-essential coccinelle device-tree-compiler dfu-util flex gdisk liblz4-tool libncurses-dev libsdl2-dev libssl-dev lzma-alone openssl swig
+       make sandbox_defconfig
+       make
+
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v1