|  | 
| 1 |  | -name: Security - CodeQL | 
|  | 1 | +# For most projects, this workflow file will not need changing; you simply need | 
|  | 2 | +# to commit it to your repository. | 
|  | 3 | +# | 
|  | 4 | +# You may wish to alter this file to override the set of languages analyzed, | 
|  | 5 | +# or to provide custom queries or build logic. | 
|  | 6 | +# | 
|  | 7 | +# ******** NOTE ******** | 
|  | 8 | +# We have attempted to detect the languages in your repository. Please check | 
|  | 9 | +# the `language` matrix defined below to confirm you have the correct set of | 
|  | 10 | +# supported CodeQL languages. | 
|  | 11 | +# | 
|  | 12 | +name: 'CodeQL' | 
| 2 | 13 | 
 | 
| 3 | 14 | on: | 
|  | 15 | +    push: | 
|  | 16 | +        branches: ['main', 'dev', 'release/*'] | 
| 4 | 17 |     pull_request: | 
| 5 |  | -        branches: | 
| 6 |  | -            - main | 
| 7 |  | -            - dev | 
| 8 |  | -            - release/* | 
|  | 18 | +        branches: ['main', 'dev', 'release/*'] | 
| 9 | 19 |     schedule: | 
| 10 |  | -        - cron: '0 0 * * 1' | 
| 11 |  | - | 
| 12 |  | -permissions: | 
| 13 |  | -    contents: read | 
|  | 20 | +        - cron: '25 0 * * 6' | 
| 14 | 21 | 
 | 
| 15 | 22 | jobs: | 
| 16 | 23 |     analyze: | 
|  | 24 | +        name: Analyze (${{ matrix.language }}) | 
|  | 25 | +        # Runner size impacts CodeQL analysis time. To learn more, please see: | 
|  | 26 | +        #   - https://gh.io/recommended-hardware-resources-for-running-codeql | 
|  | 27 | +        #   - https://gh.io/supported-runners-and-hardware-resources | 
|  | 28 | +        #   - https://gh.io/using-larger-runners (GitHub.com only) | 
|  | 29 | +        # Consider using larger runners or machines with greater resources for possible analysis time improvements. | 
|  | 30 | +        runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} | 
|  | 31 | +        timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} | 
| 17 | 32 |         permissions: | 
|  | 33 | +            # required for all workflows | 
|  | 34 | +            security-events: write | 
|  | 35 | + | 
|  | 36 | +            # required to fetch internal or private CodeQL packs | 
|  | 37 | +            packages: read | 
|  | 38 | + | 
|  | 39 | +            # only required for workflows in private repositories | 
| 18 | 40 |             actions: read | 
| 19 | 41 |             contents: read | 
| 20 |  | -            security-events: write | 
| 21 |  | -        name: Analyze | 
| 22 |  | -        runs-on: ubuntu-latest | 
| 23 | 42 | 
 | 
| 24 | 43 |         strategy: | 
| 25 | 44 |             fail-fast: false | 
| 26 | 45 |             matrix: | 
| 27 |  | -                language: ['javascript', 'typescript'] | 
| 28 |  | -                # CodeQL supports [ $supported-codeql-languages ] | 
| 29 |  | -                # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support | 
| 30 |  | - | 
|  | 46 | +                include: | 
|  | 47 | +                    - language: javascript-typescript | 
|  | 48 | +                      build-mode: none | 
|  | 49 | +                # CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' | 
|  | 50 | +                # Use `c-cpp` to analyze code written in C, C++ or both | 
|  | 51 | +                # Use 'java-kotlin' to analyze code written in Java, Kotlin or both | 
|  | 52 | +                # Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both | 
|  | 53 | +                # To learn more about changing the languages that are analyzed or customizing the build mode for your analysis, | 
|  | 54 | +                # see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning. | 
|  | 55 | +                # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | 
|  | 56 | +                # your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages | 
| 31 | 57 |         steps: | 
| 32 |  | -            - name: Harden Runner | 
| 33 |  | -              uses: step-security/harden-runner@v2.6.1 | 
| 34 |  | -              with: | 
| 35 |  | -                  egress-policy: audit | 
| 36 |  | - | 
| 37 | 58 |             - name: Checkout repository | 
| 38 |  | -              uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0 | 
|  | 59 | +              uses: actions/checkout@v4 | 
| 39 | 60 | 
 | 
| 40 | 61 |             # Initializes the CodeQL tools for scanning. | 
| 41 | 62 |             - name: Initialize CodeQL | 
| 42 |  | -              uses: github/codeql-action/init@v2.22.12 | 
|  | 63 | +              uses: github/codeql-action/init@v3 | 
| 43 | 64 |               with: | 
| 44 | 65 |                   languages: ${{ matrix.language }} | 
|  | 66 | +                  build-mode: ${{ matrix.build-mode }} | 
| 45 | 67 |                   # If you wish to specify custom queries, you can do so here or in a config file. | 
| 46 | 68 |                   # By default, queries listed here will override any specified in a config file. | 
| 47 | 69 |                   # Prefix the list here with "+" to use these queries and those in the config file. | 
| 48 | 70 | 
 | 
| 49 |  | -            # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java). | 
| 50 |  | -            # If this step fails, then you should remove it and run the build manually (see below) | 
| 51 |  | -            - name: Autobuild | 
| 52 |  | -              uses: github/codeql-action/autobuild@v2.22.12 | 
|  | 71 | +                  # 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 | 
|  | 72 | +                  # queries: security-extended,security-and-quality | 
| 53 | 73 | 
 | 
|  | 74 | +            # If the analyze step fails for one of the languages you are analyzing with | 
|  | 75 | +            # "We were unable to automatically build your code", modify the matrix above | 
|  | 76 | +            # to set the build mode to "manual" for that language. Then modify this step | 
|  | 77 | +            # to build your code. | 
| 54 | 78 |             # ℹ️ Command-line programs to run using the OS shell. | 
| 55 | 79 |             # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun | 
| 56 |  | - | 
| 57 |  | -            #   If the Autobuild fails above, remove it and uncomment the following three lines. | 
| 58 |  | -            #   modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. | 
| 59 |  | - | 
| 60 |  | -            # - run: | | 
| 61 |  | -            #   echo "Run, Build Application using script" | 
| 62 |  | -            #   ./location_of_script_within_repo/buildscript.sh | 
|  | 80 | +            - if: matrix.build-mode == 'manual' | 
|  | 81 | +              run: | | 
|  | 82 | +                  echo 'If you are using a "manual" build mode for one or more of the' \ | 
|  | 83 | +                    'languages you are analyzing, replace this with the commands to build' \ | 
|  | 84 | +                    'your code, for example:' | 
|  | 85 | +                  echo '  make bootstrap' | 
|  | 86 | +                  echo '  make release' | 
|  | 87 | +                  exit 1 | 
| 63 | 88 | 
 | 
| 64 | 89 |             - name: Perform CodeQL Analysis | 
| 65 |  | -              uses: github/codeql-action/analyze@v2.22.12 | 
|  | 90 | +              uses: github/codeql-action/analyze@v3 | 
| 66 | 91 |               with: | 
| 67 | 92 |                   category: '/language:${{matrix.language}}' | 
0 commit comments