codeql-action icon indicating copy to clipboard operation
codeql-action copied to clipboard

Request: More target platforms for precompiled CodeQL binaries

Open mcandre opened this issue 1 year ago • 2 comments

The current set of target platforms is reasonably wide for basic GitHub Actions workflows. However, there are additional platforms that would benefit from the publication of precompiled binaries. For example, Raspberry Pi users would enjoy ARM(64) ports.

  • ARM(64) ports for Linux
  • ARM(64) ports for Windows
  • (Free)BSD ports

Technically, users may attempt to recompile the CodeQL CLI utility for these platforms. But the same convenience afforded to classical amd64 Linux environments, can reasonably be extended to other common environments.

mcandre avatar May 25 '24 19:05 mcandre

Thanks for your report. You are not the first to ask about this. I'll add your request to the internal tracker to record it as an additional 👍 for this feature.

aibaars avatar May 27 '24 11:05 aibaars

We are looking for this as well.

- name: 🛠️ Initialize CodeQL
  uses: github/codeql-action/init@v3
  with:
    languages: ${{ matrix.language }}
    build-mode: ${{ matrix.build-mode }}

When you run CodeQL on arm64 (Graviton) self-hosted runner, it download CodeQL binary for x86 platform:

Setup CodeQL tools

  Did not find CodeQL tools version 2.20.0 in the toolcache.
  Using CodeQL CLI version 2.20.0 sourced from https://github.com/github/codeql-action/releases/download/codeql-bundle-v2.20.0/codeql-bundle-linux64.tar.gz .
  Downloading CodeQL tools from https://github.com/github/codeql-action/releases/download/codeql-bundle-v2.20.0/codeql-bundle-linux64.tar.gz . This may take a while.
  Finished downloading CodeQL bundle to /home/runner/_work/_temp/4c14aef4-2d55-49c4-b633-284be3008c20 (3.1s).
  Extracting CodeQL bundle.
  Finished extracting CodeQL bundle to /home/runner/_work/_temp/8b851faf-e89c-4397-9a71-e3e335792e73 (13.8s).
  Added CodeQL bundle to the tool cache (8.0s).
  /home/runner/_work/_tool/CodeQL/2.20.0/arm64/codeql/codeql: 142: /home/runner/_work/_tool/CodeQL/2.20.0/arm64/codeql/tools/linux64/java/bin/java: Exec format error
  Error: Unable to download and extract CodeQL CLI: Encountered a fatal error while running "/home/runner/_work/_tool/CodeQL/2.20.0/arm64/codeql/codeql version --format=json". Exit code was 1[26](https://github.com/nexthink/vdi-experience.vdi-ui/actions/runs/12431608127/job/34709350985#step:3:27) and last log line was: /home/runner/_work/_tool/CodeQL/2.20.0/arm64/codeql/codeql: 142: /home/runner/_work/_tool/CodeQL/2.20.0/arm64/codeql/tools/linux64/java/bin/java: Exec format error. See the logs for more details.

It should detect running CPU architecture and download required CodeQL bundle for this platform (once available).

mkushakov avatar Dec 20 '24 13:12 mkushakov