mirror of
https://github.com/github/codeql-action.git
synced 2026-01-07 07:00:28 +08:00
We are still getting coverage of the upload capability through the standard codeql analysis workflow.
79 lines
3.4 KiB
YAML
79 lines
3.4 KiB
YAML
name: "Multi-language repository"
|
|
description: "An end-to-end integration test of a multi-language repository using automatic language detection"
|
|
operatingSystems: ["ubuntu", "macos"]
|
|
env:
|
|
CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT: "true" # Remove when Swift is GA.
|
|
steps:
|
|
- uses: ./../action/init
|
|
id: init
|
|
with:
|
|
db-location: "${{ runner.temp }}/customDbLocation"
|
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
|
|
|
- uses: ./../action/.github/setup-swift
|
|
with:
|
|
codeql-path: ${{steps.init.outputs.codeql-path}}
|
|
|
|
- name: Build code
|
|
shell: bash
|
|
run: ./build.sh
|
|
|
|
- uses: ./../action/analyze
|
|
id: analysis
|
|
with:
|
|
upload-database: false
|
|
|
|
- name: Check language autodetect for all languages excluding Ruby, Swift
|
|
shell: bash
|
|
run: |
|
|
CPP_DB=${{ fromJson(steps.analysis.outputs.db-locations).cpp }}
|
|
if [[ ! -d $CPP_DB ]] || [[ ! $CPP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for CPP, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
CSHARP_DB=${{ fromJson(steps.analysis.outputs.db-locations).csharp }}
|
|
if [[ ! -d $CSHARP_DB ]] || [[ ! $CSHARP_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for C Sharp, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
GO_DB=${{ fromJson(steps.analysis.outputs.db-locations).go }}
|
|
if [[ ! -d $GO_DB ]] || [[ ! $GO_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for Go, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
JAVA_DB=${{ fromJson(steps.analysis.outputs.db-locations).java }}
|
|
if [[ ! -d $JAVA_DB ]] || [[ ! $JAVA_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for Java, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
JAVASCRIPT_DB=${{ fromJson(steps.analysis.outputs.db-locations).javascript }}
|
|
if [[ ! -d $JAVASCRIPT_DB ]] || [[ ! $JAVASCRIPT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for Javascript, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
PYTHON_DB=${{ fromJson(steps.analysis.outputs.db-locations).python }}
|
|
if [[ ! -d $PYTHON_DB ]] || [[ ! $PYTHON_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for Python, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
|
|
- name: Check language autodetect for Ruby
|
|
if: "(matrix.version == 'cached' || matrix.version == 'latest' || matrix.version == 'nightly-latest')"
|
|
shell: bash
|
|
run: |
|
|
RUBY_DB=${{ fromJson(steps.analysis.outputs.db-locations).ruby }}
|
|
if [[ ! -d $RUBY_DB ]] || [[ ! $RUBY_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for Ruby, or created it in the wrong location."
|
|
exit 1
|
|
fi
|
|
|
|
- name: Check language autodetect for Swift
|
|
if: "(matrix.version == 'cached' || matrix.version == 'latest' || matrix.version == 'nightly-latest')"
|
|
shell: bash
|
|
run: |
|
|
SWIFT_DB=${{ fromJson(steps.analysis.outputs.db-locations).swift }}
|
|
if [[ ! -d $SWIFT_DB ]] || [[ ! $SWIFT_DB == ${{ runner.temp }}/customDbLocation/* ]]; then
|
|
echo "Did not create a database for Swift, or created it in the wrong location."
|
|
exit 1
|
|
fi
|