| name: "CodeQL" |
| |
| on: |
| push: |
| branches: [ "master", "3.5-dev", "3.6-dev" ] |
| pull_request: |
| # The branches below must be a subset of the branches above |
| branches: [ "master", "3.5-dev", "3.6-dev" ] |
| schedule: |
| - cron: '22 8 * * 1' |
| |
| jobs: |
| analyze: |
| name: Analyze |
| runs-on: ubuntu-latest |
| permissions: |
| actions: read |
| contents: read |
| security-events: write |
| |
| strategy: |
| fail-fast: false |
| matrix: |
| language: [ 'go', 'javascript', 'python' ] |
| # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] |
| # 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. |
| |
| # 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, 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@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" |
| # ./location_of_script_within_repo/buildscript.sh |
| |
| - name: Perform CodeQL Analysis |
| uses: github/codeql-action/analyze@v2 |
| with: |
| category: "/language:${{matrix.language}}" |
| |
| # .Net is run as a separate job as the integration tests take far too long to build |
| analyze_dotnet: |
| name: Analyze .Net |
| runs-on: ubuntu-latest |
| permissions: |
| actions: read |
| contents: read |
| security-events: write |
| |
| 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: 'csharp' |
| |
| - run: | |
| echo "Build .NET" |
| dotnet build gremlin-dotnet/src/Gremlin.Net; |
| dotnet build gremlin-dotnet/src/Gremlin.Net.Template |
| dotnet build gremlin-dotnet/test/Gremlin.Net.UnitTest |
| dotnet build gremlin-dotnet/test/Gremlin.Net.Benchmarks |
| # Excluded due to extremely long (~45m) build time in github actions |
| # dotnet build gremlin-dotnet/test/Gremlin.Net.IntegrationTest |
| # dotnet build gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest |
| |
| - name: Perform CodeQL Analysis |
| uses: github/codeql-action/analyze@v2 |
| with: |
| category: "/language:csharp" |
| |
| # Java is run as a separate job as the autobuild for Java is prone to random timeout failures |
| analyze_java: |
| name: Analyze Java |
| runs-on: ubuntu-latest |
| permissions: |
| actions: read |
| contents: read |
| security-events: write |
| |
| 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: 'java' |
| |
| - run: | |
| echo "Build Java" |
| mvn clean package -B -V -e \ |
| -pl -:gremlin-javascript,-:gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python,-:gremlint \ |
| -Dfindbugs.skip -Dcheckstyle.skip -Dpmd.skip=true -Dspotbugs.skip -Denforcer.skip -Dmaven.javadoc.skip \ |
| -DskipTests -Dmaven.test.skip.exec -Dlicense.skip=true -Drat.skip=true -Dspotless.check.skip=true |
| |
| - name: Perform CodeQL Analysis |
| uses: github/codeql-action/analyze@v2 |
| with: |
| category: "/language:java" |