All Projects → egor-tensin → setup-clang

egor-tensin / setup-clang

Licence: MIT license
GitHub action to set up Clang & LLVM

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to setup-clang

setup-jdk
(DEPRECATED) Set up your GitHub Actions workflow with a specific version of AdoptOpenJDK
Stars: ✭ 32 (+14.29%)
Mutual labels:  action, github-actions
rubocop-linter-action
Rubocop Linter Action: A GitHub Action to run Rubocop against your code!
Stars: ✭ 86 (+207.14%)
Mutual labels:  action, github-actions
verify-linked-issue-action
A GitHub action that verifies your pull request contains a reference to an issue.
Stars: ✭ 18 (-35.71%)
Mutual labels:  action, github-actions
actions
Set of actions for implementing CI/CD with werf and GitHub Actions
Stars: ✭ 67 (+139.29%)
Mutual labels:  action, github-actions
assign-one-project-github-action
Automatically add an issue or pull request to specific GitHub Project(s) when you create and/or label them.
Stars: ✭ 140 (+400%)
Mutual labels:  action, github-actions
upload-to-discord
A GitHub Action that uploads a file to Discord channel.
Stars: ✭ 44 (+57.14%)
Mutual labels:  action, github-actions
action-ansible-playbook
⚙️ A GitHub Action for running Ansible playbooks
Stars: ✭ 133 (+375%)
Mutual labels:  action, github-actions
action-homebrew-bump-formula
⚙️ A GitHub Action to easily bump Homebrew formula on new release
Stars: ✭ 68 (+142.86%)
Mutual labels:  action, github-actions
hugo-action
Commands to help with building Hugo based static sites
Stars: ✭ 65 (+132.14%)
Mutual labels:  action, github-actions
jest-github-action
Jest action adding checks with annotations to your pull requests and coverage table as comments
Stars: ✭ 134 (+378.57%)
Mutual labels:  action, github-actions
setup-bats
GitHub Action to setup BATS testing framework
Stars: ✭ 25 (-10.71%)
Mutual labels:  action, github-actions
colab-badge-action
GitHub Action that generates "Open In Colab" Badges for you
Stars: ✭ 15 (-46.43%)
Mutual labels:  action, github-actions
action-eslint
🐋🐬 TypeScript/JavaScript ESLint action
Stars: ✭ 24 (-14.29%)
Mutual labels:  action, github-actions
dart-package-publisher
Action to Publish Dart / Flutter Package To https://pub.dev When you need to publish a package, just bump the version in pubspec.yaml
Stars: ✭ 45 (+60.71%)
Mutual labels:  action, github-actions
GitHub-Pages-deploy
A GitHub Action to deploy a static site on GitHub Pages.
Stars: ✭ 42 (+50%)
Mutual labels:  action, github-actions
clojure-dependency-update-action
A simple GitHub Actions job to create Pull Requests for outdated dependencies in clojure projects
Stars: ✭ 37 (+32.14%)
Mutual labels:  action, github-actions
github-run-tests-action
mabl Github Actions implementation
Stars: ✭ 39 (+39.29%)
Mutual labels:  action, github-actions
upx-action
Strips and runs upx on binaries
Stars: ✭ 17 (-39.29%)
Mutual labels:  action, github-actions
actions
Collection of repetitive GitHub Actions
Stars: ✭ 12 (-57.14%)
Mutual labels:  action, github-actions
ssh2actions
Connect to GitHub Actions VM via SSH for interactive debugging
Stars: ✭ 62 (+121.43%)
Mutual labels:  action, github-actions

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, the supported versions for Bionic & Focal as of August 2021 are listed below.

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

This table is not definitive; I expect more future versions to be made available, especially for Focal.

On Windows and Cygwin, the version parameter is ignored.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].