Skip to content

Commit e17bfa5

Browse files
owen-mcCopilot
andcommitted
Actions: migrate to shared CFG library
Replace the legacy Actions CFG implementation with the shared CFG pipeline, keep data-flow nodes canonical, and ensure callable roots are connected without scalar-expression cycles. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 2bb1fd0 commit e17bfa5

13 files changed

Lines changed: 893 additions & 637 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import codeql.actions.Cfg
2+
import ControlFlow::Consistency
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name: codeql/actions-consistency-queries
2+
groups: [actions, test, consistency-queries]
3+
dependencies:
4+
codeql/actions-all: ${workspace}
5+
warnOnImplicitThis: true
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: breaking
3+
---
4+
* The GitHub Actions control flow graph (CFG) now uses the shared CFG library. The CFG includes explicit before and after nodes and uses the shared entry and exit node representations. Existing code that relies on specific CFG nodes, edges, textual representations, or basic block boundaries may need to be updated. The legacy `Completion`, `NormalCompletion`, `SimpleCompletion`, `BooleanCompletion`, and `ReturnCompletion` classes have been removed because completions are no longer part of the Actions CFG API. Code that inspected completions should inspect CFG edge labels such as `DirectSuccessor`, `BooleanSuccessor`, and `ReturnSuccessor` instead.
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
11
/** Provides classes representing the control flow graph. */
22

3-
private import codeql.actions.controlflow.internal.Cfg as CfgInternal
4-
import CfgInternal::Completion
5-
import CfgInternal::CfgScope
6-
import CfgInternal::CfgImpl
3+
import codeql.actions.controlflow.internal.Cfg::CfgImpl

0 commit comments

Comments
 (0)