Skip to content
star

GitHub Action

Install Clang

v1.4 Latest version

Install Clang

star

Install Clang

Install Clang & LLVM

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Install Clang

uses: egor-tensin/[email protected]

Learn more about this action in egor-tensin/setup-clang

Choose a version

Set up Clang

Test

This GitHub action sets up Clang & LLVM in your workflow run.

  1. Installs either 32-bit or 64-bit Clang & LLVM on either Ubuntu, Windows or Cygwin.
  2. Specify a version to install using the version parameter.

Use it in your workflow like this:

- name: Set up Clang
  uses: egor-tensin/setup-clang@v1
  with:
    version: latest
    platform: x64
  • latest is the default value for the version parameter and can be omitted.
  • x64 is the default value for the platform parameter and can be omitted. Use x86 if you want to build 32-bit binaries.
  • Set the cygwin parameter to 1 to set up Clang inside an existing Cygwin installation (you can set up Cygwin itself using my action setup-cygwin).
  • cc and c++ executables are set up, pointing to the clang and clang++ executables. Disable this by setting the cc parameter to 0.

API

Input Value Default Description
version latest Install the latest version available in the repository.
any Install a specific version if it's available (see below).
platform x64 Install the x86_64 toolchain.
any Install the i686 toolchain.
cygwin any Install native binaries.
1 Install Cygwin packages.
cc 1 Set up cc/clang/c++/clang++ executables.
any Don't set up the executables.
hardlinks any Cygwin: don't convert any symlinks.
1 Cygwin: convert symlinks in /usr/bin to hardlinks.
Output Example Description
clang clang-4.0 clang binary name
clangxx clang++-7 clang++ binary name

Supported versions

Unless the version parameter value is "latest", the official LLVM repository is used to make more versions available. You can pass the version number as the version parameter value (5.0, 8, 9, etc.), and this action will install the corresponding packages.

The version parameter value is not checked for being an available version for the current distribution. The supported versions for a particular distribution are those found in that distro's repositories & those in the LLVM repository. For example, you can find the list of available versions as of January 2023 below.

version Bionic Focal Jammy
3.9
4.0
5.0
6.0
7
8
9
10
11
12
13
14
15

This table should be updated periodically; it's a work-in-progress.

On Windows and Cygwin, the version parameter is ignored.

License

Distributed under the MIT License. See LICENSE.txt for details.