Compare commits

...
13 changed files with 602 additions and 426 deletions

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
name: "CodeQL action"
on: [push, pull_request]
on: [pull_request]
jobs:
build:
+481 -417
View File
@@ -3,45 +3,490 @@ name: "Integration Testing"
on: [push, pull_request]
jobs:
multi-language-repo_test-autodetect-languages:
# multi-language-repo_test-autodetect-languages:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - uses: ./../action/init
# - name: Build code
# shell: bash
# run: ./build.sh
# - uses: ./../action/analyze
# env:
# TEST_MODE: true
# - run: |
# cd "$RUNNER_TEMP/codeql_databases"
# # List all directories as there will be precisely one directory per database
# # but there may be other files in this directory such as query suites.
# if [ "$(ls -d */ | wc -l)" != 6 ] || \
# [[ ! -d cpp ]] || \
# [[ ! -d csharp ]] || \
# [[ ! -d go ]] || \
# [[ ! -d java ]] || \
# [[ ! -d javascript ]] || \
# [[ ! -d python ]]; then
# echo "Did not find expected number of databases. Database dir contains: $(ls)"
# exit 1
# fi
# multi-language-repo_test-custom-queries-and-remote-config:
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest, macos-latest]
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - uses: ./../action/init
# with:
# languages: cpp,csharp,java,javascript,python
# config-file: github/codeql-action/tests/multi-language-repo/.github/codeql/custom-queries.yml@${{ github.sha }}
# - name: Build code
# shell: bash
# run: ./build.sh
# - uses: ./../action/analyze
# env:
# TEST_MODE: true
# # Currently is not possible to analyze Go in conjunction with other languages in macos
# multi-language-repo_test-go-custom-queries:
# strategy:
# fail-fast: false
# matrix:
# os: [ubuntu-latest, windows-latest, macos-latest]
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/setup-go@v2
# if: ${{ matrix.os == 'macos-latest' }}
# with:
# go-version: '^1.13.1'
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - uses: ./../action/init
# with:
# languages: go
# config-file: ./.github/codeql/custom-queries.yml
# - name: Build code
# shell: bash
# run: ./build.sh
# - uses: ./../action/analyze
# env:
# TEST_MODE: true
# multi-language-repo_rubocop:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Set up Ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: 2.6
# - name: Install Code Scanning integration
# run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install
# - name: Install dependencies
# run: bundle install
# - name: Rubocop run
# run: |
# bash -c "
# bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
# [[ $? -ne 2 ]]
# "
# - uses: ./../action/upload-sarif
# with:
# sarif_file: rubocop.sarif
# env:
# TEST_MODE: true
# test-proxy:
# runs-on: ubuntu-latest
# container:
# image: ubuntu:18.04
# options: --dns 127.0.0.1
# services:
# squid-proxy:
# image: datadog/squid:latest
# ports:
# - 3128:3128
# env:
# https_proxy: http://squid-proxy:3128
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - uses: ./../action/init
# with:
# languages: javascript
# - uses: ./../action/analyze
# env:
# TEST_MODE: true
# runner-analyze-javascript-ubuntu:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Build runner
# run: |
# cd runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# # Pass --config-file here, but not for other jobs in this workflow.
# # This means we're testing the config file parsing in the runner
# # but not slowing down all jobs unnecessarily as it doesn't add much
# # testing the parsing on different operating systems and languages.
# runner/dist/codeql-runner-linux init --repository $GITHUB_REPOSITORY --languages javascript --config-file ./.github/codeql/codeql-config.yml --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Run analyze
# run: |
# runner/dist/codeql-runner-linux analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-javascript-windows:
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v2
# - name: Build runner
# run: |
# cd runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# runner/dist/codeql-runner-win.exe init --repository $Env:GITHUB_REPOSITORY --languages javascript --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Run analyze
# run: |
# runner/dist/codeql-runner-win.exe analyze --repository $Env:GITHUB_REPOSITORY --commit $Env:GITHUB_SHA --ref $Env:GITHUB_REF --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-javascript-macos:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v2
# - name: Build runner
# run: |
# cd runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages javascript --config-file ./.github/codeql/codeql-config.yml --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Run analyze
# run: |
# runner/dist/codeql-runner-macos analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-csharp-ubuntu:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Build runner
# run: |
# cd ../action/runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# ../action/runner/dist/codeql-runner-linux init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Build code
# run: |
# . ./codeql-runner/codeql-env.sh
# dotnet build
# - name: Run analyze
# run: |
# ../action/runner/dist/codeql-runner-linux analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-csharp-windows:
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Build runner
# run: |
# cd ../action/runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# ../action/runner/dist/codeql-runner-win.exe init --repository $Env:GITHUB_REPOSITORY --languages csharp --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Build code
# shell: powershell
# run: |
# cat ./codeql-runner/codeql-env.sh | Invoke-Expression
# dotnet build
# - name: Run analyze
# run: |
# ../action/runner/dist/codeql-runner-win.exe analyze --repository $Env:GITHUB_REPOSITORY --commit $Env:GITHUB_SHA --ref $Env:GITHUB_REF --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-csharp-macos:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Build runner
# run: |
# cd ../action/runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# ../action/runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Build code
# shell: bash
# run: |
# . ./codeql-runner/codeql-env.sh
# dotnet build
# - name: Run analyze
# run: |
# ../action/runner/dist/codeql-runner-macos analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-csharp-autobuild-ubuntu:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Build runner
# run: |
# cd ../action/runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# ../action/runner/dist/codeql-runner-linux init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Build code
# run: |
# ../action/runner/dist/codeql-runner-linux autobuild
# - name: Run analyze
# run: |
# ../action/runner/dist/codeql-runner-linux analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-csharp-autobuild-windows:
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Build runner
# run: |
# cd ../action/runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# ../action/runner/dist/codeql-runner-win.exe init --repository $Env:GITHUB_REPOSITORY --languages csharp --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Build code
# shell: powershell
# run: |
# ../action/runner/dist/codeql-runner-win.exe autobuild
# - name: Run analyze
# run: |
# ../action/runner/dist/codeql-runner-win.exe analyze --repository $Env:GITHUB_REPOSITORY --commit $Env:GITHUB_SHA --ref $Env:GITHUB_REF --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-analyze-csharp-autobuild-macos:
# runs-on: macos-latest
# steps:
# - uses: actions/checkout@v2
# - name: Move codeql-action
# shell: bash
# run: |
# mkdir ../action
# mv * .github ../action/
# mv ../action/tests/multi-language-repo/{*,.github} .
# - name: Build runner
# run: |
# cd ../action/runner
# npm install
# npm run build-runner
# - name: Run init
# run: |
# ../action/runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# - name: Build code
# shell: bash
# run: |
# ../action/runner/dist/codeql-runner-macos autobuild
# - name: Run analyze
# run: |
# ../action/runner/dist/codeql-runner-macos analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# env:
# TEST_MODE: true
# runner-upload-sarif:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Build runner
# run: |
# cd runner
# npm install
# npm run build-runner
# - name: Upload with runner
# run: |
# # Deliberately don't use TEST_MODE here. This is specifically testing
# # the compatibility with the API.
# runner/dist/codeql-runner-linux upload --sarif-file src/testdata/empty-sarif.sarif --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
# Test the behaviour when asked to scan a compiled language but no code is compiled
java:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- uses: ./../action/init
- name: Build code
shell: bash
run: ./build.sh
- uses: ./../action/analyze
env:
TEST_MODE: true
- run: |
cd "$RUNNER_TEMP/codeql_databases"
# List all directories as there will be precisely one directory per database
# but there may be other files in this directory such as query suites.
if [ "$(ls -d */ | wc -l)" != 6 ] || \
[[ ! -d cpp ]] || \
[[ ! -d csharp ]] || \
[[ ! -d go ]] || \
[[ ! -d java ]] || \
[[ ! -d javascript ]] || \
[[ ! -d python ]]; then
echo "Did not find expected number of databases. Database dir contains: $(ls)"
exit 1
fi
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
shopt -s dotglob
mv * ../action/
# Do not copy anything back, so there's nothing left to scan
- uses: ./../action/init
with:
languages: java
- uses: ./../action/analyze
env:
TEST_MODE: true
# Test the behaviour when asked to scan a non-compiled language but there is no code to scan
javascript:
runs-on: ubuntu-latest
multi-language-repo_test-custom-queries-and-remote-config:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
shopt -s dotglob
mv * ../action/
# Do not copy anything back, so there's nothing left to scan
- uses: ./../action/init
with:
languages: javascript
- uses: ./../action/analyze
env:
TEST_MODE: true
matcher-catches-out-of-memory-error:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
@@ -59,388 +504,7 @@ jobs:
shell: bash
run: ./build.sh
- uses: ./../action/analyze
env:
TEST_MODE: true
# Currently is not possible to analyze Go in conjunction with other languages in macos
multi-language-repo_test-go-custom-queries:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/setup-go@v2
if: ${{ matrix.os == 'macos-latest' }}
with:
go-version: '^1.13.1'
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- uses: ./../action/init
with:
languages: go
config-file: ./.github/codeql/custom-queries.yml
- name: Build code
shell: bash
run: ./build.sh
- uses: ./../action/analyze
ram: 10
env:
TEST_MODE: true
multi-language-repo_rubocop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Install Code Scanning integration
run: bundle add code-scanning-rubocop --version 0.3.0 --skip-install
- name: Install dependencies
run: bundle install
- name: Rubocop run
run: |
bash -c "
bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif
[[ $? -ne 2 ]]
"
- uses: ./../action/upload-sarif
with:
sarif_file: rubocop.sarif
env:
TEST_MODE: true
test-proxy:
runs-on: ubuntu-latest
container:
image: ubuntu:18.04
options: --dns 127.0.0.1
services:
squid-proxy:
image: datadog/squid:latest
ports:
- 3128:3128
env:
https_proxy: http://squid-proxy:3128
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- uses: ./../action/init
with:
languages: javascript
- uses: ./../action/analyze
env:
TEST_MODE: true
runner-analyze-javascript-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build runner
run: |
cd runner
npm install
npm run build-runner
- name: Run init
run: |
# Pass --config-file here, but not for other jobs in this workflow.
# This means we're testing the config file parsing in the runner
# but not slowing down all jobs unnecessarily as it doesn't add much
# testing the parsing on different operating systems and languages.
runner/dist/codeql-runner-linux init --repository $GITHUB_REPOSITORY --languages javascript --config-file ./.github/codeql/codeql-config.yml --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Run analyze
run: |
runner/dist/codeql-runner-linux analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-javascript-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Build runner
run: |
cd runner
npm install
npm run build-runner
- name: Run init
run: |
runner/dist/codeql-runner-win.exe init --repository $Env:GITHUB_REPOSITORY --languages javascript --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Run analyze
run: |
runner/dist/codeql-runner-win.exe analyze --repository $Env:GITHUB_REPOSITORY --commit $Env:GITHUB_SHA --ref $Env:GITHUB_REF --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-javascript-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Build runner
run: |
cd runner
npm install
npm run build-runner
- name: Run init
run: |
runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages javascript --config-file ./.github/codeql/codeql-config.yml --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Run analyze
run: |
runner/dist/codeql-runner-macos analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-csharp-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Build runner
run: |
cd ../action/runner
npm install
npm run build-runner
- name: Run init
run: |
../action/runner/dist/codeql-runner-linux init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Build code
run: |
. ./codeql-runner/codeql-env.sh
dotnet build
- name: Run analyze
run: |
../action/runner/dist/codeql-runner-linux analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-csharp-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Build runner
run: |
cd ../action/runner
npm install
npm run build-runner
- name: Run init
run: |
../action/runner/dist/codeql-runner-win.exe init --repository $Env:GITHUB_REPOSITORY --languages csharp --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Build code
shell: powershell
run: |
cat ./codeql-runner/codeql-env.sh | Invoke-Expression
dotnet build
- name: Run analyze
run: |
../action/runner/dist/codeql-runner-win.exe analyze --repository $Env:GITHUB_REPOSITORY --commit $Env:GITHUB_SHA --ref $Env:GITHUB_REF --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-csharp-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Build runner
run: |
cd ../action/runner
npm install
npm run build-runner
- name: Run init
run: |
../action/runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Build code
shell: bash
run: |
. ./codeql-runner/codeql-env.sh
dotnet build
- name: Run analyze
run: |
../action/runner/dist/codeql-runner-macos analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-csharp-autobuild-ubuntu:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Build runner
run: |
cd ../action/runner
npm install
npm run build-runner
- name: Run init
run: |
../action/runner/dist/codeql-runner-linux init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Build code
run: |
../action/runner/dist/codeql-runner-linux autobuild
- name: Run analyze
run: |
../action/runner/dist/codeql-runner-linux analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-csharp-autobuild-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Build runner
run: |
cd ../action/runner
npm install
npm run build-runner
- name: Run init
run: |
../action/runner/dist/codeql-runner-win.exe init --repository $Env:GITHUB_REPOSITORY --languages csharp --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Build code
shell: powershell
run: |
../action/runner/dist/codeql-runner-win.exe autobuild
- name: Run analyze
run: |
../action/runner/dist/codeql-runner-win.exe analyze --repository $Env:GITHUB_REPOSITORY --commit $Env:GITHUB_SHA --ref $Env:GITHUB_REF --github-url $Env:GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-analyze-csharp-autobuild-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Move codeql-action
shell: bash
run: |
mkdir ../action
mv * .github ../action/
mv ../action/tests/multi-language-repo/{*,.github} .
- name: Build runner
run: |
cd ../action/runner
npm install
npm run build-runner
- name: Run init
run: |
../action/runner/dist/codeql-runner-macos init --repository $GITHUB_REPOSITORY --languages csharp --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
- name: Build code
shell: bash
run: |
../action/runner/dist/codeql-runner-macos autobuild
- name: Run analyze
run: |
../action/runner/dist/codeql-runner-macos analyze --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
env:
TEST_MODE: true
runner-upload-sarif:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build runner
run: |
cd runner
npm install
npm run build-runner
- name: Upload with runner
run: |
# Deliberately don't use TEST_MODE here. This is specifically testing
# the compatibility with the API.
runner/dist/codeql-runner-linux upload --sarif-file src/testdata/empty-sarif.sarif --repository $GITHUB_REPOSITORY --commit $GITHUB_SHA --ref $GITHUB_REF --github-url $GITHUB_SERVER_URL --github-auth ${{ github.token }}
+1 -1
View File
@@ -1,6 +1,6 @@
name: "PR checks"
on: [push, pull_request]
on: [pull_request]
jobs:
lint-js:
+26
View File
@@ -0,0 +1,26 @@
name: "CodeQL runner"
on: [pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build runner
run: |
cd runner
npm install
npm run build-runner
- name: Upload with runner
run: |
runner/dist/codeql-runner-linux upload \
--sarif-file src/testdata/empty-sarif.sarif \
--repository $GITHUB_REPOSITORY \
--commit $GITHUB_SHA \
--ref $GITHUB_REF \
--github-url $GITHUB_SERVER_URL \
--github-auth ${{ github.token }}
Generated
+2 -2
View File
@@ -359,7 +359,7 @@ function getCodeQLForCmd(cmd) {
return JSON.parse(output);
},
async databaseAnalyze(databasePath, sarifFile, querySuite, memoryFlag, addSnippetsFlag, threadsFlag) {
await new toolrunnner.ToolRunner(cmd, [
await toolrunner_error_catcher_1.toolrunnerErrorCatcher(cmd, [
"database",
"analyze",
memoryFlag,
@@ -370,7 +370,7 @@ function getCodeQLForCmd(cmd) {
addSnippetsFlag,
...getExtraOptionsFromEnv(["database", "analyze"]),
querySuite,
]).exec();
]);
},
};
}
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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 truncated
{"version":3,"file":"codeql.js","sourceRoot":"","sources":["../src/codeql.ts"],"names":[],"mappings":"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 truncated
+11
View File
@@ -11,6 +11,17 @@ exports.namedMatchersForTesting = {
message: "No code found during the build. Please see:\n" +
"https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build",
},
queryTimeout: {
exitCode: 33,
message: "One or more query evaluations timed out. Please see:\n" +
"Not sure if there's a good place to currently send people?",
},
outOfMemory: {
exitCode: 99,
outputRegex: new RegExp("Operation ran out of memory\\."),
message: "The CodeQL CLI ran out of memory. Please see:\n" +
"https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#error-out-of-disk-or-out-of-memory",
},
};
// we collapse the matches into an array for use in execErrorCatcher
exports.errorMatchers = Object.values(exports.namedMatchersForTesting);
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AAQA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;MAEE;IACF,iBAAiB,EAAE;QACjB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACpE,OAAO,EACL,+CAA+C;YAC/C,yJAAyJ;KAC5J;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"}
{"version":3,"file":"error-matcher.js","sourceRoot":"","sources":["../src/error-matcher.ts"],"names":[],"mappings":";;AAQA,qCAAqC;AACxB,QAAA,uBAAuB,GAAoC;IACtE;;MAEE;IACF,iBAAiB,EAAE;QACjB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,IAAI,MAAM,CAAC,2CAA2C,CAAC;QACpE,OAAO,EACL,+CAA+C;YAC/C,yJAAyJ;KAC5J;IAED,YAAY,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,OAAO,EACL,wDAAwD;YACxD,4DAA4D;KAC/D;IAED,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,IAAI,MAAM,CAAC,gCAAgC,CAAC;QACzD,OAAO,EACL,iDAAiD;YACjD,6JAA6J;KAChK;CACF,CAAC;AAEF,oEAAoE;AACvD,QAAA,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,+BAAuB,CAAC,CAAC"}
+25
View File
@@ -23,6 +23,31 @@ ava_1.default("matchers are never applied if non-error exit", async (t) => {
t.deepEqual(await exec.exec("node", testArgs), 0);
t.deepEqual(await toolrunner_error_catcher_1.toolrunnerErrorCatcher("node", testArgs, matchers), 0);
});
ava_1.default("exit code matching is correctly handled", async (t) => {
const testArgs = buildDummyArgs("foo bar\\nblort qux", "foo bar\\nblort qux", "", 42);
const nonMatchers = [
{
exitCode: 123,
outputRegex: new RegExp("will not match"),
message: "custom message!",
},
];
await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher("node", testArgs, nonMatchers), {
instanceOf: Error,
message: "The process 'node' failed with exit code 42",
});
const matchers = [
{
exitCode: 42,
outputRegex: new RegExp("will not match"),
message: "custom message!",
},
];
await t.throwsAsync(toolrunner_error_catcher_1.toolrunnerErrorCatcher("node", testArgs, matchers), {
instanceOf: Error,
message: "custom message!",
});
});
ava_1.default("regex matchers are applied to stdout for non-zero exit code", async (t) => {
const testArgs = buildDummyArgs("foo bar\\nblort qux", "", "", 1);
const matchers = [
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAsC;AACtC,8CAAuB;AAGvB,mDAA6C;AAC7C,yEAAoE;AAEpE,0BAAU,CAAC,aAAI,CAAC,CAAC;AAEjB,aAAI,CAAC,8CAA8C,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,cAAc,CAC7B,qBAAqB,EACrB,qBAAqB,EACrB,EAAE,EACF,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;KAC3E,CAAC;IAEF,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAElD,CAAC,CAAC,SAAS,CAAC,MAAM,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,qBAAqB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAmB;QAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;KACrE,CAAC;IAEF,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC/C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;KACtD,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,WAAW,CAAC,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACtE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,6DAA6D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC9E,MAAM,QAAQ,GAAG,cAAc,CAC7B,qBAAqB,EACrB,qBAAqB,EACrB,EAAE,EACF,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;KACrE,CAAC;IAEF,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC/C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;KACtD,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,WAAW,CAAC,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACtE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,sEAAsE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACvF,MAAM,QAAQ,GAAG,cAAc,CAC7B,qBAAqB,EACrB,qBAAqB,EACrB,EAAE,EACF,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QACxE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QACpE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;KAC1E,CAAC;IAEF,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC/C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;KACtD,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,WAAW,CAAC,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACtE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,4DAA4D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC7E,MAAM,QAAQ,GAAG,cAAc,CAC7B,qBAAqB,EACrB,qBAAqB,EACrB,EAAE,EACF,CAAC,CACF,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QACpE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;QACzE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;KACrE,CAAC;IAEF,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC/C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,4CAA4C;KACtD,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,WAAW,CAAC,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACtE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gCAAgC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACjD,MAAM,QAAQ,GAAG,cAAc,CAC7B,qBAAqB,EACrB,qBAAqB,EACrB,EAAE,EACF,GAAG,CACJ,CAAC;IAEF,MAAM,QAAQ,GAAmB;QAC/B;YACE,QAAQ,EAAE,GAAG;YACb,WAAW,EAAE,IAAI,MAAM,CAAC,qBAAqB,CAAC;YAC9C,OAAO,EAAE,IAAI;SACd;KACF,CAAC;IAEF,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE;QAC/C,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,8CAA8C;KACxD,CAAC,CAAC;IAEH,MAAM,CAAC,CAAC,WAAW,CAAC,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;QACtE,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,wDAAwD,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IACzE,MAAM,QAAQ,GAAG,cAAc,CAAC,iBAAiB,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE5E,MAAM,CAAC,CAAC,WAAW,CACjB,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EACzE,EAAE,UAAU,EAAE,KAAK,EAAE,CACtB,CAAC;IAEF,CAAC,CAAC,SAAS,CACT,MAAM,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjD,gBAAgB,EAAE,IAAI;KACvB,CAAC,EACF,GAAG,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,2DAA2D,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;IAC5E,MAAM,cAAc,GAAG,iBAAiB,CAAC;IACzC,MAAM,cAAc,GAAG,cAAc,CAAC;IAEtC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,MAAM,SAAS,GAAG;QAChB,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvB,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvB,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvE,CAAC,CAAC,SAAS,CACT,MAAM,iDAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjD,SAAS;KACV,CAAC,EACF,CAAC,CACF,CAAC;IAEF,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,cAAc,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,cAAc,IAAI,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,SAAS,cAAc,CACrB,cAAsB,EACtB,cAAsB,EACtB,mBAA4B,EAC5BLine truncated
{"version":3,"file":"toolrunner-error-catcher.test.js","sourceRoot":"","sources":["../src/toolrunner-error-catcher.test.ts"],"names":[],"mappings":"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 truncated
+2 -2
View File
@@ -565,7 +565,7 @@ function getCodeQLForCmd(cmd: string): CodeQL {
addSnippetsFlag: string,
threadsFlag: string
) {
await new toolrunnner.ToolRunner(cmd, [
await toolrunnerErrorCatcher(cmd, [
"database",
"analyze",
memoryFlag,
@@ -576,7 +576,7 @@ function getCodeQLForCmd(cmd: string): CodeQL {
addSnippetsFlag,
...getExtraOptionsFromEnv(["database", "analyze"]),
querySuite,
]).exec();
]);
},
};
}
+15
View File
@@ -18,6 +18,21 @@ export const namedMatchersForTesting: { [key: string]: ErrorMatcher } = {
"No code found during the build. Please see:\n" +
"https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#no-code-found-during-the-build",
},
queryTimeout: {
exitCode: 33,
message:
"One or more query evaluations timed out. Please see:\n" +
"Not sure if there's a good place to currently send people?", // TODO find where we should send people for this error.
},
outOfMemory: {
exitCode: 99,
outputRegex: new RegExp("Operation ran out of memory\\."),
message:
"The CodeQL CLI ran out of memory. Please see:\n" +
"https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/troubleshooting-code-scanning#error-out-of-disk-or-out-of-memory",
},
};
// we collapse the matches into an array for use in execErrorCatcher
+35
View File
@@ -24,6 +24,41 @@ test("matchers are never applied if non-error exit", async (t) => {
t.deepEqual(await toolrunnerErrorCatcher("node", testArgs, matchers), 0);
});
test("exit code matching is correctly handled", async (t) => {
const testArgs = buildDummyArgs(
"foo bar\\nblort qux",
"foo bar\\nblort qux",
"",
42
);
const nonMatchers: ErrorMatcher[] = [
{
exitCode: 123,
outputRegex: new RegExp("will not match"),
message: "custom message!",
},
];
await t.throwsAsync(toolrunnerErrorCatcher("node", testArgs, nonMatchers), {
instanceOf: Error,
message: "The process 'node' failed with exit code 42",
});
const matchers: ErrorMatcher[] = [
{
exitCode: 42,
outputRegex: new RegExp("will not match"),
message: "custom message!",
},
];
await t.throwsAsync(toolrunnerErrorCatcher("node", testArgs, matchers), {
instanceOf: Error,
message: "custom message!",
});
});
test("regex matchers are applied to stdout for non-zero exit code", async (t) => {
const testArgs = buildDummyArgs("foo bar\\nblort qux", "", "", 1);