Skip to content

Commit a28b6c2

Browse files
authored
revert(ci): undo "force clang for Linux x86_64 native builds" (#1059) (#1061)
Reverts 1e292ef. The premise of #1059 was that gcc-built binaries silently dropped HCL files where clang-built ones did not — making the v3.10.0 pre-publish gate fail. Closer empirical verification (running both compilers against the same source in identical Docker containers, counting "Native orchestrator dropped" warnings explicitly) showed that both compilers produce binaries that drop .tf files. The earlier "clang doesn't drop" reading was an output-filtering artifact in my local benchmark grep. The real cause is a tree-sitter ABI version mismatch — `tree-sitter-hcl` 1.1.0 ships ABI 15, runtime is pinned at ABI 14. `Parser::set_language` rejects the grammar at runtime regardless of which compiler built the binary. The proper fix is to bump `tree-sitter` to 0.25; that is being delivered separately. Reverting the clang change keeps Linux x86_64 GNU users on the runner-default `cc` (gcc), matching every release prior to v3.10.0 and avoiding compiler-specific dead weight in our CI config that fixes nothing. Refs #1054
1 parent 3ead0f8 commit a28b6c2

3 files changed

Lines changed: 0 additions & 46 deletions

File tree

.github/workflows/build-native.yml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,6 @@ jobs:
7272
with:
7373
workspaces: crates/codegraph-core
7474

75-
# Force clang for the host x86_64-linux-gnu build. With gcc (the runner's
76-
# default `cc`) the bundled C parsers in tree-sitter-hcl produce a binary
77-
# whose HCL extractor silently drops files (#1054). Clang produces a
78-
# working binary.
79-
- name: Use clang for x86_64-linux-gnu
80-
if: matrix.target == 'x86_64-unknown-linux-gnu'
81-
run: |
82-
clang --version
83-
echo "CC=clang" >> "$GITHUB_ENV"
84-
echo "CXX=clang++" >> "$GITHUB_ENV"
85-
8675
- name: Install cross-compilation tools (aarch64-gnu)
8776
if: matrix.target == 'aarch64-unknown-linux-gnu'
8877
run: |

.github/workflows/ci.yml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,6 @@ jobs:
6161
with:
6262
workspaces: crates/codegraph-core
6363

64-
# NOTE: this step was added in #1059 on the assumption that gcc-vs-clang
65-
# was responsible for the HCL .tf drop in #1054, but the real root cause
66-
# was a tree-sitter ABI mismatch (HCL grammar shipped ABI 15 while the
67-
# runtime was pinned at ABI 14). That is fixed by the tree-sitter 0.25
68-
# bump in this PR, so this clang override is now redundant. Kept in place
69-
# here to keep this PR scoped to the ABI fix; a follow-up revert removes
70-
# the step entirely.
71-
- name: Use clang on Linux
72-
if: matrix.os == 'ubuntu-latest'
73-
run: |
74-
clang --version
75-
echo "CC=clang" >> "$GITHUB_ENV"
76-
echo "CXX=clang++" >> "$GITHUB_ENV"
77-
7864
- name: Install napi-rs CLI
7965
run: npm install -g @napi-rs/cli@3
8066

.github/workflows/publish.yml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,6 @@ jobs:
4444
with:
4545
workspaces: crates/codegraph-core
4646

47-
# Match the build-native job: gcc-built tree-sitter parsers drop files
48-
# on Linux x86_64 (#1054). Use clang here too so preflight parity tests
49-
# exercise the same binary characteristics as the published artifact.
50-
- name: Use clang for native build
51-
run: |
52-
clang --version
53-
echo "CC=clang" >> "$GITHUB_ENV"
54-
echo "CXX=clang++" >> "$GITHUB_ENV"
55-
5647
- name: Install napi-rs CLI
5748
run: npm install -g @napi-rs/cli@3
5849

@@ -187,18 +178,6 @@ jobs:
187178
with:
188179
workspaces: crates/codegraph-core
189180

190-
# Force clang for the host x86_64-linux-gnu build. With gcc (the runner's
191-
# default `cc`) the bundled C parsers in tree-sitter-hcl produce a binary
192-
# whose HCL extractor silently drops files (#1054), triggering an
193-
# expensive WASM backfill on every build call. Clang produces a working
194-
# binary. Verified locally: gcc 14.2.0 drops .tf files, clang does not.
195-
- name: Use clang for x86_64-linux-gnu
196-
if: matrix.target == 'x86_64-unknown-linux-gnu'
197-
run: |
198-
clang --version
199-
echo "CC=clang" >> "$GITHUB_ENV"
200-
echo "CXX=clang++" >> "$GITHUB_ENV"
201-
202181
- name: Install cross-compilation tools (aarch64-gnu)
203182
if: matrix.target == 'aarch64-unknown-linux-gnu'
204183
run: |

0 commit comments

Comments
 (0)