Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.17.5 Upgrade #73

Merged
merged 463 commits into from
Jun 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
463 commits
Select commit Hold shift + click to select a range
121378a
C#: Add change-note.
michaelnebel May 30, 2024
5e1801f
C#: Update models based on review comments.
michaelnebel May 31, 2024
b628c2e
C#: Update flow summaries expected output.
michaelnebel May 31, 2024
02f9aec
C#: Add some spurious summary generation examples.
michaelnebel May 31, 2024
8b75bb2
C#: The model generator should consider System.Type and System.DateTi…
michaelnebel May 31, 2024
959aa35
Swift: remove integration test running in CI
redsun82 May 31, 2024
f27d48d
Merge pull request #16622 from github/criemen/pkg-lib-nolang
criemen May 31, 2024
67e2ea1
Merge pull request #16634 from github/redsun82/swift-integration-tests
redsun82 May 31, 2024
25ab1a9
Merge branch 'main' into redsun82/bazel-fix
redsun82 May 31, 2024
d38894a
C#: Update .NET 8 runtime models.
michaelnebel May 31, 2024
01c1acd
Merge pull request #16632 from github/redsun82/bazel-fix
redsun82 May 31, 2024
e2758f2
C#: Update expected test output.
michaelnebel May 31, 2024
06ce40c
Merge pull request #16561 from aschackmull/java/typeflow-effectively-…
aschackmull May 31, 2024
096a31d
Mark all integration tests as legacy
redsun82 May 31, 2024
58fb027
Merge pull request #16641 from github/redsun82/legacy-integration-tes…
redsun82 May 31, 2024
a191490
Post-release preparation for codeql-cli-2.17.4
invalid-email-address May 31, 2024
8d5bb21
Merge pull request #16642 from github/post-release-prep/codeql-cli-2.…
cklin May 31, 2024
beeae69
Tree-sitter: Verbosity fixes
hvitved May 31, 2024
58ce3e8
Merge pull request #16633 from hvitved/dataflow/inline-pred
hvitved May 31, 2024
cff78cc
Cmake generator: Remove space in argument.
criemen Jun 2, 2024
121ca12
Update qhelp with `https:/example.com` handling
RasmusWL Jun 3, 2024
88b978f
Merge pull request #16574 from michaelnebel/csharp/updatenetruntimemo…
michaelnebel Jun 3, 2024
b08a0a3
C#: Re-factor external models tests to use compiled code instead of e…
michaelnebel May 28, 2024
213e391
C#: Add some more external flow testcases (one with a spurious result).
michaelnebel May 28, 2024
eb0925b
C#: There should at least be one manual summary for a non-source summ…
michaelnebel May 24, 2024
46f5b13
C#: Only dispatch to summarized callables with generated summaries in…
michaelnebel May 27, 2024
546b260
C#: Update expected test output and remove spurious result.
michaelnebel May 28, 2024
0173cf5
Merge pull request #16645 from github/criemen/cmake
criemen Jun 3, 2024
a42bdd9
Update misc/bazel/pkg.bzl
criemen Jun 3, 2024
8479673
Bazel: ignore non-default SSH endpoints in `git_lfs_probe.py`
redsun82 Jun 3, 2024
51b000a
Merge pull request #16649 from github/redsun82/bazel-lfs
redsun82 Jun 3, 2024
34130d5
C++: Add library tests for YML extension models.
geoffw0 May 23, 2024
94413c8
C++: Implement YML extension models.
geoffw0 May 28, 2024
e87593a
C++: Add the doc (copy from csharp).
geoffw0 May 28, 2024
5875ec2
Merge pull request #16627 from github/criemen/pkg-fix-install
criemen Jun 3, 2024
b9da01a
Merge remote-tracking branch 'origin/main' into criemen/new-pkg
criemen Jun 3, 2024
04f5f30
Unified handling of in-tree extractor packs.
criemen Jun 3, 2024
7b72018
Swift: Unified handling of in-tree extractor packs.
criemen Jun 3, 2024
5c77b87
Ruby: Unified handling of in-tree extractor packs.
criemen Jun 3, 2024
57f7602
Go: Unified handling of in-tree extractor packs.
criemen Jun 3, 2024
dd267e1
Ql-for-ql: Unified handling of in-tree extractor packs.
criemen Jun 3, 2024
b673092
C#: Unified handling of in-tree extractor packs.
criemen Jun 3, 2024
c30cc0f
Fix formatting.
criemen Jun 3, 2024
2550e11
Kotlin: Set CI to use 2.0.0 release
igfoo May 21, 2024
918bee0
Kotlin: Accept Kotlin 1 test changes 1.9.0 -> 2.0.0
igfoo May 21, 2024
6224670
Kotlin: Accept 2.0.0's Kotlin 2 test output
igfoo May 22, 2024
2d760c7
Kotlin: Tweak comments test
igfoo May 22, 2024
f458ca9
Kotlin: Bump supported version limit to 2.0.0x
igfoo May 22, 2024
8392588
Kotlin: Add test for generated throw statements
igfoo May 22, 2024
acdf7df
Kotlin: Fix typo
igfoo May 28, 2024
2bcf292
Kotlin: Fix custom_plugin test with Kotlin 2.0.0
igfoo May 28, 2024
986babb
Kotlin: Accept 2.0 output for integration tests, and run some in 1.9 …
igfoo May 29, 2024
1bd7aef
Fix search paths.
criemen Jun 3, 2024
b0865c2
Merge pull request #16554 from igfoo/igfoo/k2rel
igfoo Jun 3, 2024
8783dfb
Merge branch 'main' into criemen/new-pkg
criemen Jun 3, 2024
859e8db
Fixes typo in deprecation notice
sidshank Jun 3, 2024
5b6f38f
Merge pull request #16623 from github/criemen/new-pkg
criemen Jun 3, 2024
fe8f13e
Merge pull request #16654 from sidshank/sidshank/fix-incorrect-deprec…
yoff Jun 3, 2024
7b8c113
Javascript: use `codeql_pack` for javascript extractor
redsun82 May 29, 2024
922489c
Add changed framework coverage reports
github-actions[bot] Jun 4, 2024
1339836
Merge pull request #16619 from owen-mc/go/fix/response-writer-variadic
owen-mc Jun 4, 2024
e6dc36b
Merge pull request #16636 from hvitved/tree-sitter/verbosity-fix
hvitved Jun 4, 2024
48455ec
C#: Improve performance of `MissingXMLValidation` query
hvitved May 31, 2024
d1a2c0f
Merge branch 'main' into redsun82/kotlin
redsun82 Jun 4, 2024
99f70a6
Kotlin: address review comments
redsun82 Jun 4, 2024
16e9ced
Merge pull request #16637 from hvitved/csharp/xml-validation-perf
hvitved Jun 4, 2024
f4d3756
C#: Prefer downloading nuget.exe over local instances
tamasvajk Jun 4, 2024
dd8b651
Merge pull request #16598 from jorgectf/jorgectf/opml-models
RasmusWL Jun 4, 2024
839171e
Merge pull request #16646 from RasmusWL/url-redirect-qhelp
RasmusWL Jun 4, 2024
2a62bfd
C#: Add integration test with space in `packages.config` path
tamasvajk Jun 4, 2024
f84c2a8
Java: Add more File-related sinks for path-injection
atorralba May 27, 2024
f16dd8c
Apply code review suggestions.
atorralba May 28, 2024
292395b
Update test expectations
atorralba May 31, 2024
9af6cb8
Quote `packages.config` paths
tamasvajk Jun 4, 2024
a83d500
Merge pull request #16658 from github/workflow/coverage/update
michaelnebel Jun 4, 2024
66077dc
C++: Ignore `gets`'es with incorrect parameter counts
jketema Jun 4, 2024
af6a088
C++: Update the doc text for C/C++.
geoffw0 May 28, 2024
8a5b5d2
C++: Add source/sink test cases for Boost::Asio.
geoffw0 May 31, 2024
7e5b734
C++: Add flow test cases for Boost::Asio.
geoffw0 Jun 3, 2024
f479649
C++: Add Boost::Asio models.
geoffw0 Jun 3, 2024
79e9198
C++: An empty models-as-data namespace / type is not 'dubious' in CPP.
geoffw0 Jun 4, 2024
9c2b4c9
C++: Update the doc examples for C/C++.
geoffw0 Jun 4, 2024
c06df55
Merge pull request #16660 from tamasvajk/buildless/nuget-exe
tamasvajk Jun 4, 2024
38c47a4
C++: Add change notes.
geoffw0 Jun 4, 2024
a1415e2
Merge pull request #16661 from tamasvajk/buildless/nuget-path-space
tamasvajk Jun 4, 2024
63116d2
Merge pull request #16656 from github/criemen/pkg-javascript
criemen Jun 4, 2024
78552b8
Merge pull request #16600 from atorralba/atorralba/java/more-file-sinks
atorralba Jun 4, 2024
89e7bab
QLDoc
owen-mc Apr 11, 2024
7c94120
Rename `packageHasMaDCoverage` to `relevantPackage`
owen-mc Apr 11, 2024
797e5d0
Rename `packageHasASubpackage` to `packageLink`
owen-mc Apr 11, 2024
e81a989
Remove QLDoc
owen-mc Apr 11, 2024
54a0c03
Rename `canonicalPackageHasASubpackage` to `canonicalPkgLink`
owen-mc Apr 11, 2024
c3e1592
Use AccessPath and AccessPathToken more
owen-mc Apr 11, 2024
a71e678
Change imports
owen-mc Apr 11, 2024
83672f5
Add `neutralModel` extensible predicate
owen-mc Apr 11, 2024
8e2e327
Use `neutralModel` in various places
owen-mc Apr 11, 2024
557adaf
Update invalid model predicates
owen-mc Apr 30, 2024
9f7c475
Expect "receiver" instead of "-1"
owen-mc May 2, 2024
961b09d
Use methods of AccessPathToken more
owen-mc Apr 30, 2024
7f0f2d3
Rename `interpretSummary` to `summaryElement`
owen-mc Apr 30, 2024
e2008e1
Move `summaryElement` to FlowSummyImpl.qll
owen-mc Apr 30, 2024
209fe73
Change type of c to be more portable
owen-mc Apr 30, 2024
df8e04f
Add predicate `neutralElement` matching `summaryElement`
owen-mc Apr 30, 2024
5b04a71
Non-trivial implementation of `NeutralCallableAdapter`
owen-mc Apr 30, 2024
4012758
Make manual neutral summary models block generated summary models
owen-mc Apr 30, 2024
174712a
Delete unused predicate `paramsString`
owen-mc Apr 30, 2024
479ea9f
Remove unused predicate `hasExternalSpecification`
owen-mc Apr 30, 2024
adfaae0
Cache `interpretElement`
owen-mc Apr 30, 2024
a8112ec
Add `neutralModel` to `empty.model.yml` so it is defined somewhere
owen-mc May 2, 2024
0870946
Add model validation to more tests
owen-mc May 2, 2024
18fa454
Replace `Argument[-1]` with `Argument[receiver]`
owen-mc May 2, 2024
c964fc2
Update expected results (only empty predicate names added)
owen-mc May 2, 2024
5c5949b
Add tests for neutral models
owen-mc May 22, 2024
6e67e72
Update documentation for `receiver` instead of `-1`
owen-mc May 23, 2024
7356e74
Add change note
owen-mc May 23, 2024
cbbdd01
Reinstate more descriptive QLDoc
owen-mc Jun 4, 2024
c608675
C#: Quote `nuget.exe` path
tamasvajk Jun 4, 2024
858c7ce
Ruby: Add consistency query for extraction errors
hvitved Jun 4, 2024
ad99158
Ruby: Fix/accept extraction errors
hvitved Jun 4, 2024
c820234
Merge pull request #16666 from tamasvajk/buildless/fix/quote-nuget-path
criemen Jun 4, 2024
e8c1e50
JS: Use `resources/tools` from external repo, not internal.
criemen Jun 4, 2024
60970ff
Merge pull request #16571 from owen-mc/go/remove-step-duplication-in-…
owen-mc Jun 4, 2024
fcd326e
CI: reword comment
redsun82 Jun 4, 2024
6a9cb90
Kotlin: rework header comment
redsun82 Jun 4, 2024
2fe0718
Explain `.lfsconfig` choice in the comment
redsun82 Jun 4, 2024
4c91bdc
Kotlin: `tgt` -> `target`
redsun82 Jun 4, 2024
e7cec01
Kotlin: make `current_kotlin_version.py` executable
redsun82 Jun 4, 2024
e693c27
Kotlin: remove unneeded patch
redsun82 Jun 4, 2024
c6039b3
Kotlin: update default `kotlinc` version
redsun82 Jun 4, 2024
e42de3d
Ruby: Fix extraction errors
hvitved Jun 4, 2024
be5c82c
Kotlin: add other tools to dev wrapper
redsun82 Jun 4, 2024
8205f86
Kotlin: use `tools/bazel` in integration test
redsun82 Jun 4, 2024
b8bc014
Fix erroneous logger disposal
tamasvajk May 24, 2024
a48d71b
Merge branch 'main' into redsun82/kotlin
redsun82 Jun 4, 2024
10584b3
Kotlin: improve posix dev wrappers
redsun82 Jun 4, 2024
73b1812
Extract `.xsaccess` files as JSON
mbaluda Jun 4, 2024
7b3e9b4
Extract .xsaccess files as JSON
mbaluda Jun 4, 2024
576ee78
Add .xsaccess test data
mbaluda Jun 4, 2024
8791e67
Add .xsaccess test data
mbaluda Jun 4, 2024
e4653a8
Kotlin: remove `kapt` wrapper, probably unneeded
redsun82 Jun 4, 2024
b7e16ca
Kotlin: fix `custom_plugin` test
redsun82 Jun 4, 2024
3fb5ad2
Cover all params in QLDoc of `modelCoverage`
owen-mc Jun 4, 2024
43c7ac3
C++: Add a test with spurious flow.
MathiasVP Jun 4, 2024
a9af28e
C++: Drive-by fix. This is not needed anymore after #16345
MathiasVP May 21, 2024
ceccc92
C++: Add a testcase that failed during development.
MathiasVP May 22, 2024
556dc28
C++: Use 'phiHasInputFromBlockExt' instead of 'phiHasInputFromBlock'.
MathiasVP May 22, 2024
888a831
C++: Use 'ssaDefReachesReadExt' instead of 'ssaDefReachesRead'.
MathiasVP Jun 3, 2024
e04c75d
C++: Introduce a new phi input dataflow node.
MathiasVP Jun 4, 2024
3e53f3b
C++: Flow out of phi inputs to the phi node.
MathiasVP May 22, 2024
d020f93
C++: This is never a definition.
MathiasVP May 22, 2024
ad2eacf
Merge pull request #16117 from github/redsun82/kotlin
redsun82 Jun 4, 2024
168cba8
Add .xsaccess test data
mbaluda Jun 4, 2024
0b9bafc
Update AutoBuildTests.java
mbaluda Jun 4, 2024
cc02717
Merge branch 'main' into main
mbaluda Jun 4, 2024
c2bd050
Add changed framework coverage reports
github-actions[bot] Jun 5, 2024
63bec5a
Merge pull request #16678 from github/workflow/coverage/update
owen-mc Jun 5, 2024
6b2e86a
Accept review suggestion
owen-mc Jun 5, 2024
6f8449c
C++: Add change note
jketema Jun 5, 2024
85d0efc
C++: Make the last use of a node before entering the phi node map to …
MathiasVP Jun 4, 2024
2517907
C++: Better toString on phi nodes.
MathiasVP May 22, 2024
0149fb6
C++: Simplify.
MathiasVP Jun 3, 2024
05d46a6
C++: Also ignore phi input edges in 'AllocaInLoop.ql'.
MathiasVP May 22, 2024
44cc19c
C++: Handle phi inputs in barrier guards logic.
MathiasVP Jun 3, 2024
97f0c75
C++: Accept test changes.
MathiasVP Jun 4, 2024
ff46e2c
Merge pull request #16662 from jketema/gets
jketema Jun 5, 2024
44a56c4
Merge pull request #16558 from owen-mc/go/sync-external-flow
owen-mc Jun 5, 2024
54347c2
Java: add basic ECJ integration tests
smowton Jun 5, 2024
5dd7e13
Merge branch 'main' into mbg/go/semver-type
mbg Jun 5, 2024
61847bc
Ripunzip: provide installer
redsun82 Jun 5, 2024
13dd87f
Java integration tests: accept new output
igfoo Jun 5, 2024
e267031
Merge pull request #16680 from smowton/smowton/admin/add-ecj-tests
smowton Jun 5, 2024
fcf06c5
Refactor findMethodWithGivenReceiver
owen-mc Jan 16, 2024
f830dc6
Merge branch 'main' into mbg/go/semver-type
mbg Jun 5, 2024
366fba8
Add changelog for 2.17.4
turbo Jun 5, 2024
c0142c1
Go: Add comment explaining why `NewSemVer` does not `Canonical`ise th…
mbg Jun 3, 2024
79ae522
Add change note documenting ECJ improvements
smowton Jun 5, 2024
3b51f1f
Merge pull request #16683 from owen-mc/go/refactor-extractor
owen-mc Jun 5, 2024
e704bf3
Merge pull request #16685 from smowton/smowton/admin/ecj-change-note
smowton Jun 5, 2024
ac91a51
Merge pull request #16682 from igfoo/igfoo/integ
igfoo Jun 5, 2024
ef2f016
Merge pull request #16676 from owen-mc/qldoc-external-flow
owen-mc Jun 5, 2024
716e273
formatting
chanel-y Jun 5, 2024
7b5297b
Merge branch 'main' into jb1/chanely-insecure-sql-connection
chanel-y Jun 5, 2024
2e5d9c3
Merge pull request #16675 from mbaluda/main
erik-krogh Jun 5, 2024
0f09198
Merge pull request #16673 from tamasvajk/fix/logger-disposal
tamasvajk Jun 6, 2024
421c68a
Merge pull request #16663 from hvitved/ruby/extraction-error-consistency
hvitved Jun 6, 2024
7122db0
Ruby: Bump tree-sitter grammar
hvitved Jun 6, 2024
5231392
Ruby: Update `cargo-bazel-lock.json`
hvitved Jun 6, 2024
af4d2f1
C++: Add an IR test.
MathiasVP Jun 6, 2024
f58757f
C++: Skip children we cannot translate when translating builtin opera…
MathiasVP Jun 6, 2024
d6352b4
C++: Fix IR generation for builtin operations.
MathiasVP Jun 6, 2024
48f2fd0
C++: Accept IR changes.
MathiasVP Jun 6, 2024
bd9ece0
C++: Add dataflow through '__builtin_bit_cast'.
MathiasVP Jun 6, 2024
2d42ea0
Merge pull request #16668 from github/criemen/pkg-js-fixup
redsun82 Jun 6, 2024
ac6cc38
Merge pull request #16681 from github/redsun82/ripunzip
redsun82 Jun 6, 2024
31bc426
C++: Fix QLDoc.
MathiasVP Jun 6, 2024
331f676
Merge pull request #16523 from microsoft/jb1/chanely-insecure-sql-con…
hvitved Jun 6, 2024
f9ef72e
C++: Fix typos.
geoffw0 Jun 6, 2024
8944972
Shared: Recognize 'remote-sink' in ModelValidation.qll.
geoffw0 Jun 6, 2024
7aec488
C++: Permit ':' in models-as-data namespaces.
geoffw0 Jun 6, 2024
38acfcf
C++: Doc tweaks addressing review comments.
geoffw0 Jun 6, 2024
314eb5d
Merge pull request #16688 from MathiasVP/flow-through-builtin-bit-cast
MathiasVP Jun 6, 2024
8acb119
C++: Remove redundant import.
geoffw0 Jun 6, 2024
5deb900
Merge pull request #16665 from geoffw0/yml
MathiasVP Jun 6, 2024
6e0f3df
Merge pull request #14120 from asgerf/dynamic/typemodel-istypeused
asgerf Jun 6, 2024
fa09d21
C++: Simplify. No need for the 'PhiInputNodeExt' class.
MathiasVP Jun 6, 2024
f7b2d98
C++: Add tests to demonstrate that it's not barrier guard that's bugg…
MathiasVP Jun 6, 2024
8aaa2a1
C++: Improve comment.
MathiasVP Jun 6, 2024
0298755
C++: Add a test.
MathiasVP Jun 6, 2024
703832f
C++: Remove a column from a few predicates.
MathiasVP Jun 6, 2024
36aac3f
C++: Get rid of 'relevantUnaryComparison' since it was excluding too …
MathiasVP Jun 6, 2024
528afba
C++: Accept test changes.
MathiasVP Jun 6, 2024
eae6406
Merge pull request #16687 from hvitved/ruby/bump-ts-grammar
hvitved Jun 6, 2024
9564ae1
C++: Accept more test changes.
MathiasVP Jun 6, 2024
2662808
Go: Output `setup-go` compatible pre-release identifiers
mbg Jun 6, 2024
9f4c138
Merge pull request #16677 from MathiasVP/phi-input-nodes
MathiasVP Jun 6, 2024
7b92554
Merge branch 'main' into better-guards
MathiasVP Jun 6, 2024
798357f
C++: Add test case that shows that `__func__` is not considered static
jketema Jun 6, 2024
5ae8fe5
C++: Correctly identify orphaned variables as static
jketema Jun 6, 2024
4488518
C++: Update expected test results
jketema Jun 6, 2024
b5a3575
C++: Make proper use of barrier guards in test.
MathiasVP Jun 6, 2024
ed525fc
C++: Accept test changes.
MathiasVP Jun 6, 2024
456c046
Merge pull request #16693 from jketema/func-fix
jketema Jun 7, 2024
7f62085
C++: Delete unused predicate.
MathiasVP Jun 7, 2024
9366eb8
C#: Add TSP warning if `buildless` option is used instead of `build-m…
tamasvajk Jun 7, 2024
d5af71a
Merge pull request #16647 from michaelnebel/csharp/idempotentsummaryg…
michaelnebel Jun 7, 2024
68a78fa
Merge pull request #16700 from tamasvajk/buildless/tsp-warning-config
tamasvajk Jun 7, 2024
4ec4da4
Dataflow/Java: Add support for pretty-printed provenace in tests. Con…
aschackmull Apr 15, 2024
0e8d72c
C#: Add support for pretty-printed provenace in tests. Convert one test.
aschackmull Apr 15, 2024
a26c01d
Go: Add support for pretty-printed provenace in tests. Convert one test.
aschackmull Apr 15, 2024
5d51b5b
Ruby: Add support for pretty-printed provenace in tests. Convert one …
aschackmull Apr 15, 2024
68ddae2
Python: Add support for pretty-printed provenace in tests.
aschackmull Apr 15, 2024
0c47203
Javascript: Add support for pretty-printed provenace in tests.
aschackmull Apr 15, 2024
7e980d9
Add a bit more qldoc.
aschackmull Jun 3, 2024
0ab67d1
Merge pull request #16684 from github/sitedocs/2.17.4
turbo Jun 7, 2024
9b1e4d7
Go: Fix test failure.
aschackmull Jun 7, 2024
9d1c2c6
Merge branch 'main' into mbg/go/semver-type
mbg Jun 7, 2024
ea3a3db
Merge pull request #16460 from github/mbg/go/semver-type
mbg Jun 7, 2024
32260e2
Merge pull request #16210 from aschackmull/dataflow/provenance-for-tests
aschackmull Jun 7, 2024
beffc2a
C#: Remove unneeded source folder from Bazel build scripts
tamasvajk Jun 7, 2024
16f8be4
C#: Add product name to assemblies
tamasvajk Jun 7, 2024
6731bcc
C#: Provide skeleton to generate an assemblyInfo file.
criemen Jun 7, 2024
5f98f2a
Add assembly attributes to bazel build script
tamasvajk Jun 7, 2024
06aa266
Merge pull request #16705 from tamasvajk/build/fix-attributes
tamasvajk Jun 10, 2024
7819cc1
C++: Add more QLDoc.
MathiasVP Jun 10, 2024
027c7d0
C#: Add fallback for branch detection.
criemen Jun 10, 2024
000a81f
Merge pull request #16690 from MathiasVP/better-guards
jketema Jun 10, 2024
7ecf1f9
Merge pull request #16713 from github/criemen/csharp-version-fallback
criemen Jun 10, 2024
877bfa2
Release preparation for version 2.17.5
invalid-email-address Jun 10, 2024
a160b89
Merge pull request #16715 from github/release-prep/2.17.5
smowton Jun 10, 2024
c01daaa
upgrading to 2.17.5
Jun 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ common --override_module=semmle_code=%workspace%/misc/bazel/semmle_code_stub

build --repo_env=CC=clang --repo_env=CXX=clang++

build:linux --cxxopt=-std=c++20
# we currently cannot built the swift extractor for ARM
build:macos --cxxopt=-std=c++20 --copt=-arch --copt=x86_64 --linkopt=-arch --linkopt=x86_64
build:windows --cxxopt=/std:c++20 --cxxopt=/Zc:preprocessor
# we use transitions that break builds of `...`, so for `test` to work with that we need the following
test --build_tests_only

# this requires developer mode, but is required to have pack installer functioning
startup --windows_enable_symlinks
common --enable_runfiles

# with the above, we can avoid building python zips which is the default on windows as that's expensive
build --nobuild_python_zip

common --registry=file:///%workspace%/misc/bazel/registry
common --registry=https://bcr.bazel.build

Expand Down
37 changes: 22 additions & 15 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -50,33 +50,40 @@
*.dll -text
*.pdb -text

java/ql/test/stubs/**/*.java linguist-generated=true
java/ql/test/experimental/stubs/**/*.java linguist-generated=true
/java/ql/test/stubs/**/*.java linguist-generated=true
/java/ql/test/experimental/stubs/**/*.java linguist-generated=true
/java/kotlin-extractor/deps/*.jar filter=lfs diff=lfs merge=lfs -text

# Force git not to modify line endings for go or html files under the go/ql directory
go/ql/**/*.go -text
go/ql/**/*.html -text
/go/ql/**/*.go -text
/go/ql/**/*.html -text
# Force git not to modify line endings for go dbschemes
go/*.dbscheme -text
/go/*.dbscheme -text
# Preserve unusual line ending from codeql-go merge
go/extractor/opencsv/CSVReader.java -text
/go/extractor/opencsv/CSVReader.java -text

# For some languages, upgrade script testing references really old dbscheme
# files from legacy upgrades that have CRLF line endings. Since upgrade
# resolution relies on object hashes, we must suppress line ending conversion
# for those testing dbscheme files.
*/ql/lib/upgrades/initial/*.dbscheme -text
/*/ql/lib/upgrades/initial/*.dbscheme -text

# Auto-generated modeling for Python
python/ql/lib/semmle/python/frameworks/data/internal/subclass-capture/*.yml linguist-generated=true
/python/ql/lib/semmle/python/frameworks/data/internal/subclass-capture/*.yml linguist-generated=true

# auto-generated bazel lock file
ruby/extractor/cargo-bazel-lock.json linguist-generated=true
ruby/extractor/cargo-bazel-lock.json -merge
/ruby/extractor/cargo-bazel-lock.json linguist-generated=true
/ruby/extractor/cargo-bazel-lock.json -merge

# auto-generated files for the C# build
csharp/paket.lock linguist-generated=true
# needs eol=crlf, as `paket` touches this file and saves it als crlf
csharp/.paket/Paket.Restore.targets linguist-generated=true eol=crlf
csharp/paket.main.bzl linguist-generated=true
csharp/paket.main_extension.bzl linguist-generated=true
/csharp/paket.lock linguist-generated=true
# needs eol=crlf, as `paket` touches this file and saves it as crlf
/csharp/.paket/Paket.Restore.targets linguist-generated=true eol=crlf
/csharp/paket.main.bzl linguist-generated=true
/csharp/paket.main_extension.bzl linguist-generated=true

# ripunzip tool
/misc/ripunzip/ripunzip-* filter=lfs diff=lfs merge=lfs -text

# swift prebuilt resources
/swift/third_party/resource-dir/*.zip filter=lfs diff=lfs merge=lfs -text
4 changes: 2 additions & 2 deletions .github/workflows/csharp-qltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
key: csharp-qltest-${{ matrix.slice }}
- name: Run QL tests
run: |
codeql test run --threads=0 --ram 50000 --slice ${{ matrix.slice }} --search-path extractor-pack --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
codeql test run --threads=0 --ram 50000 --slice ${{ matrix.slice }} --search-path "${{ github.workspace }}" --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
env:
GITHUB_TOKEN: ${{ github.token }}
unit-tests:
Expand Down Expand Up @@ -101,6 +101,6 @@ jobs:
# Update existing stubs in the repo with the freshly generated ones
mv "$STUBS_PATH/output/stubs/_frameworks" ql/test/resources/stubs/
git status
codeql test run --threads=0 --search-path extractor-pack --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries -- ql/test/library-tests/dataflow/flowsources/aspremote
codeql test run --threads=0 --search-path "${{ github.workspace }}" --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries -- ql/test/library-tests/dataflow/flowsources/aspremote
env:
GITHUB_TOKEN: ${{ github.token }}
3 changes: 3 additions & 0 deletions .github/workflows/go-tests-other-os.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ on:
- .github/workflows/go-tests-other-os.yml
- .github/actions/**
- codeql-workspace.yml
- MODULE.bazel
- .bazelrc
- misc/bazel/**

permissions:
contents: read
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/go-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ on:
- .github/workflows/go-tests.yml
- .github/actions/**
- codeql-workspace.yml
- MODULE.bazel
- .bazelrc
- misc/bazel/**

permissions:
contents: read
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/kotlin-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: "Kotlin Build"

on:
pull_request:
paths:
- "java/kotlin-extractor/**"
- "misc/bazel/**"
- "misc/codegen/**"
- "*.bazel*"
- .github/workflows/kotlin-build.yml
branches:
- main
- rc/*
- codeql-cli-*

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
bazel query //java/kotlin-extractor/...
# only build the default version as a quick check that we can build from `codeql`
# the full official build will be checked by QLucie
bazel build //java/kotlin-extractor
10 changes: 5 additions & 5 deletions .github/workflows/ql-for-ql-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,20 +49,20 @@ jobs:
key: ${{ runner.os }}-${{ steps.os_version.outputs.version }}-rust-cargo-${{ hashFiles('ql/**/Cargo.lock') }}
- name: Release build
if: steps.cache-extractor.outputs.cache-hit != 'true'
run: cd ql; ./scripts/create-extractor-pack.sh
run: cd ql; ./scripts/create-extractor-pack.sh
env:
GH_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ github.token }}
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: run-ql-for-ql
- name: Make database and analyze
run: |
./ql/target/release/buramu | tee deprecated.blame # Add a blame file for the extractor to parse.
${CODEQL} database create -l=ql --search-path ql/extractor-pack ${DB}
${CODEQL} database create -l=ql ${DB} --search-path "${{ github.workspace }}"
${CODEQL} database analyze -j0 --format=sarif-latest --output=ql-for-ql.sarif ${DB} ql/ql/src/codeql-suites/ql-code-scanning.qls --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
env:
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
DB: ${{ runner.temp }}/DB
LGTM_INDEX_FILTERS: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ql-for-ql-dataset_measure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ jobs:
- name: Create database
run: |
"${CODEQL}" database create \
--search-path "ql/extractor-pack" \
--threads 4 \
--search-path "${{ github.workspace }}"
--threads 4 \
--language ql --source-root "${{ github.workspace }}/repo" \
"${{ runner.temp }}/database"
env:
Expand Down
13 changes: 6 additions & 7 deletions .github/workflows/ql-for-ql-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,23 +49,23 @@ jobs:
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: ql-for-ql-tests
- name: Run QL tests
run: |
"${CODEQL}" test run --check-databases --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --search-path "${{ github.workspace }}/ql/extractor-pack" --consistency-queries ql/ql/consistency-queries --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" ql/ql/test
"${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/ql/consistency-queries --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" ql/ql/test
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}

other-os:
other-os:
strategy:
matrix:
os: [macos-latest, windows-latest]
needs: [qltest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install GNU tar
- name: Install GNU tar
if: runner.os == 'macOS'
run: |
brew install gnu-tar
Expand Down Expand Up @@ -100,13 +100,12 @@ jobs:
- name: Run a single QL tests - Unix
if: runner.os != 'Windows'
run: |
"${CODEQL}" test run --check-databases --search-path "${{ github.workspace }}/ql/extractor-pack" ql/ql/test/queries/style/DeadCode/DeadCode.qlref
"${CODEQL}" test run --check-databases --search-path "${{ github.workspace }}" ql/ql/test/queries/style/DeadCode/DeadCode.qlref
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
- name: Run a single QL tests - Windows
if: runner.os == 'Windows'
shell: pwsh
run: |
$Env:PATH += ";$(dirname ${{ steps.find-codeql.outputs.codeql-path }})"
codeql test run --check-databases --search-path "${{ github.workspace }}/ql/extractor-pack" ql/ql/test/queries/style/DeadCode/DeadCode.qlref

codeql test run --check-databases --search-path "${{ github.workspace }}" ql/ql/test/queries/style/DeadCode/DeadCode.qlref
2 changes: 1 addition & 1 deletion .github/workflows/ruby-dataset-measure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
- name: Create database
run: |
codeql database create \
--search-path "${{ github.workspace }}/ruby/extractor-pack" \
--search-path "${{ github.workspace }}" \
--threads 4 \
--language ruby --source-root "${{ github.workspace }}/repo" \
"${{ runner.temp }}/database"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ruby-qltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ jobs:
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: ruby-qltest
- name: Run QL tests
run: |
codeql test run --threads=0 --ram 50000 --search-path "${{ github.workspace }}/ruby/extractor-pack" --check-databases --check-undefined-labels --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
codeql test run --threads=0 --ram 50000 --search-path "${{ github.workspace }}" --check-databases --check-undefined-labels --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
env:
GITHUB_TOKEN: ${{ github.token }}
15 changes: 0 additions & 15 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,21 +68,6 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/run-ql-tests
integration-tests-linux:
if: github.repository_owner == 'github'
needs: build-and-test-linux
runs-on: ubuntu-latest-xl
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/run-integration-tests
integration-tests-macos:
if: ${{ github.repository_owner == 'github' && github.event_name == 'pull_request' }}
needs: build-and-test-macos
runs-on: macos-12-xl
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/run-integration-tests
clang-format:
if : ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/zipmerge-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Test zipmerge code"

on:
pull_request:
paths:
- "misc/bazel/internal/zipmerge/**"
- "MODULE.bazel"
- ".bazelrc*"
branches:
- main
- "rc/*"

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- run: |
bazel test //misc/bazel/internal/zipmerge:test --test_output=all
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,3 +62,6 @@ node_modules/

# Temporary folders for working with generated models
.model-temp

# bazel-built in-tree extractor packs
/*/extractor-pack
2 changes: 2 additions & 0 deletions .lfsconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
# codeql is publicly forked by many users, and we don't want any LFS file polluting their working
# copies. We therefore exclude everything by default.
# For files required by bazel builds, use rules in `misc/bazel/lfs.bzl` to download them on demand.
# we go for `fetchinclude` to something not exsiting rather than `fetchexclude = *` because the
# former is easier to override (with `git -c` or a local git config) to fetch something specific
fetchinclude = /nothing
Loading
Loading