QL: adjust remaining workflows to work in the QL folder

This commit is contained in:
Erik Krogh Kristensen
2021-12-14 15:03:40 +01:00
parent fdb15d6073
commit f5788b9441
4 changed files with 38 additions and 28 deletions

View File

@@ -1,4 +1,4 @@
name: "CodeQL with bleeding edge queries and extractor"
name: "CodeQL for CodeQL analysis with bleeding edge queries and extractor"
on:
workflow_dispatch:
@@ -7,13 +7,11 @@ on:
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '21 18 * * 5'
jobs:
build:
uses: github/codeql-ql/.github/workflows/build.yml@main
uses: github/codeql-ql/.github/workflows/ql-for-ql-build.yml@erik-krogh/publish-ql-for-ql # TODO: Change to `github/codeql`.
with:
os: '[ "ubuntu-latest" ]'
@@ -58,6 +56,14 @@ jobs:
with:
languages: ql
db-location: ${{ runner.temp }}/db
- name: Print debug info
run: |
echo "Pack"
ls ${{ runner.temp }}/pack
echo "Tools"
ls ${{ runner.temp }}/pack/tools
echo "index-files"
cat ${{ runner.temp }}/pack/tools/index-files.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@esbena/ql

View File

@@ -1,4 +1,4 @@
name: Build codeql-ql-pack
name: Build CodeQL for CodeQL
on:
push:
@@ -27,7 +27,7 @@ jobs:
languages: javascript # does not matter
- name: Build query pack
run: |
cd ql/src
cd ql/ql/src
"${CODEQL}" pack create
cd .codeql/pack/codeql/ql-all/0.0.0
zip "${PACKZIP}" -r .
@@ -60,25 +60,25 @@ jobs:
path: |
~/.cargo/registry
~/.cargo/git
target
ql/target
key: ${{ runner.os }}-rust-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Check formatting
run: cargo fmt --all -- --check
run: cd ql; cargo fmt --all -- --check
- name: Build
run: cargo build --verbose
run: cd ql; cargo build --verbose
- name: Run tests
run: cargo test --verbose
run: cd ql; cargo test --verbose
- name: Release build
run: cargo build --release
run: cd ql; cargo build --release
- name: Generate dbscheme
if: ${{ matrix.os == 'ubuntu-latest' }}
run: target/release/ql-generator --dbscheme ql/src/ql.dbscheme --library ql/src/codeql_ql/ast/internal/TreeSitter.qll
run: ql/target/release/ql-generator --dbscheme ql/ql/src/ql.dbscheme --library ql/ql/src/codeql_ql/ast/internal/TreeSitter.qll
- uses: actions/upload-artifact@v2
with:
name: extractor-${{ matrix.os }}
path: |
target/release/ql-extractor
target/release/ql-extractor.exe
ql/target/release/ql-extractor
ql/target/release/ql-extractor.exe
retention-days: 1
package:
runs-on: ubuntu-latest
@@ -110,7 +110,7 @@ jobs:
path: osx64
- run: |
unzip query-pack-zip/*.zip -d pack
cp -r codeql-extractor.yml tools ql/src/ql.dbscheme.stats pack/
cp -r ql/codeql-extractor.yml ql/tools ql/ql/src/ql.dbscheme.stats pack/
mkdir -p pack/tools/{linux64,osx64,win64}
if [[ -f linux64/ql-extractor ]]; then
cp linux64/ql-extractor pack/tools/linux64/extractor

View File

@@ -1,14 +1,14 @@
name: Collect database stats
name: Collect database stats for CodeQL for CodeQL
on:
push:
branches: [main]
paths:
- ql/src/ql.dbscheme
- ql/ql/src/ql.dbscheme
pull_request:
branches: [main]
paths:
- ql/src/ql.dbscheme
- ql/ql/src/ql.dbscheme
workflow_dispatch:
jobs:
@@ -35,10 +35,10 @@ jobs:
path: |
~/.cargo/registry
~/.cargo/git
target
ql/target
key: ${{ runner.os }}-qltest-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build Extractor
run: env "PATH=$PATH:${{ github.workspace }}/codeql" ./create-extractor-pack.sh
run: cd ql; env "PATH=$PATH:${{ github.workspace }}/codeql" ./create-extractor-pack.sh
- name: Checkout ${{ matrix.repo }}
uses: actions/checkout@v2
@@ -73,8 +73,8 @@ jobs:
path: stats
- run: |
python -m pip install --user lxml
find stats -name 'stats.xml' | sort | xargs python scripts/merge_stats.py --output ql/src/ql.dbscheme.stats --normalise ql_tokeninfo
find stats -name 'stats.xml' | sort | xargs python ql/scripts/merge_stats.py --output ql/ql/src/ql.dbscheme.stats --normalise ql_tokeninfo
- uses: actions/upload-artifact@v2
with:
name: ql.dbscheme.stats
path: ql/src/ql.dbscheme.stats
path: ql/ql/src/ql.dbscheme.stats

View File

@@ -1,10 +1,14 @@
name: Run QL Tests
name: Run CodeQL for CodeQL Tests
on:
push:
branches: [main]
paths:
- ql/*
pull_request:
branches: [main]
paths:
- ql/*
env:
CARGO_TERM_COLOR: always
@@ -26,13 +30,13 @@ jobs:
path: |
~/.cargo/registry
~/.cargo/git
target
ql/target
key: ${{ runner.os }}-qltest-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build Extractor
run: env "PATH=$PATH:${{ github.workspace }}/codeql" ./create-extractor-pack.sh
run: cd ql; env "PATH=$PATH:${{ github.workspace }}/codeql" ./create-extractor-pack.sh
- name: Run QL tests
run: codeql/codeql test run --check-databases --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --search-path "${{ github.workspace }}" --consistency-queries ql/consistency-queries ql/test
run: codeql/codeql test run --check-databases --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --search-path "${{ github.workspace }}"/ql --consistency-queries ql/ql/consistency-queries ql/ql/test
- name: Check QL formatting
run: find ql "(" -name "*.ql" -or -name "*.qll" ")" -print0 | xargs -0 codeql/codeql query format --check-only
run: find ql/ql "(" -name "*.ql" -or -name "*.qll" ")" -print0 | xargs -0 codeql/codeql query format --check-only
- name: Check QL compilation
run: codeql/codeql query compile --check-only --threads=4 --warnings=error --search-path "${{ github.workspace }}" "ql/src" "ql/examples"
run: codeql/codeql query compile --check-only --threads=4 --warnings=error --search-path "${{ github.workspace }}" "ql/ql/src" "ql/ql/examples"