You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+16-18Lines changed: 16 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
A GitHub Action for downloading and installing LLVM and Clang binaries.
6
6
7
-
The binaries will be added to the relevant environment variables for the platform after installation (e.g., `PATH`, `LD_LIBRARY_PATH`, and/or `DYLD_LIBRARY_PATH`). Caching is supported using the `actions/cache@v3` action as shown in an example below. The directory the binaries are installed to will be put in the `LLVM_PATH` environment variable.
7
+
Supports LLVM and Clang 7.1.0 and later. The binaries will be added to the relevant environment variables for the platform after installation (e.g., `PATH`, `LD_LIBRARY_PATH`, and/or `DYLD_LIBRARY_PATH`).
8
8
9
9
Released under the Apache License 2.0.
10
10
@@ -44,47 +44,45 @@ If your build system requires a library from the installed LLVM and Clang binari
44
44
45
45
**Required** The version of LLVM and Clang binaries to install.
46
46
47
-
This can be a specific LLVM and Clang version such as `3.6.2` or a minimum version like `3.6` or just `3`. When specifying a minimum version, the highest compatible version supported by the platform will be installed (e.g., `3.6.2` for `3.6` or `3.9.1` for `3`).
47
+
This can be a specific LLVM and Clang version such as `10.1.2` or a minimum version like `10.1` or just `10`. When specifying a minimum version, the highest compatible version supported by the platform will be installed (e.g., `10.1.2` for `10.1` or `10.2.0` for `10`).
48
48
49
-
Note that when using minimum versions like `3` the specific version installed by this action may not be the same on every operating system. This is because some versions of the LLVM and Clang binaries do not exist for some operating systems.
49
+
Note that when using minimum versions like `10` the specific version installed by this action may not be the same on every operating system and architecture (e.g., x86-86 vs ARM64). This is because some versions of the LLVM and Clang binaries do not exist for some operating systems. You can view [this file](assets.json) to see the currently supported LLVM and Clang versions for each operating system and architecture pairing.
50
50
51
-
### `directory`
52
-
53
-
The directory to install LLVM and Clang binaries to. If not provided, `C:\Program Files\LLVM` is used as the default value on Windows and `./llvm` is used on other operating systems.
51
+
### `arch`
54
52
55
-
This action puts the value of this option into the `LLVM_PATH` environment variable which allows for easy use of the directory containing the LLVM and Clang binaries in subsequent jobs (e.g., `${{ env.LLVM_PATH }}`).
53
+
The archtecture (either `x64` or `arm64`) to install LLVM and Clang binaries for.
56
54
57
-
### `force-version`
55
+
By default, the architecture of the machine this action is running on will be used.
58
56
59
-
Whether to accept unsupported LLVM and Clang versions.
57
+
### `force-url`
60
58
61
-
This action will by default reject unsupported LLVM and Clang versions. For example, if you want to download LLVM and Clang `69.0.0` but that version is not yet supported by this action, you can set this option to `true` to allow usage of this action.
59
+
The full download URL to use for LLVM and Clang binaries.
62
60
63
-
**Important:** You may need to set `ubuntu-version` as well for this to work, this action will use the Ubuntu version for the most recent supported version which may not work for the version you are requesting. Also, there are no guarantees that this will work at all.
61
+
If this input is used, the `version`, `arch`, and `mirror-url` inputs will be ignored (except in that the value of the `version` input will be used verbatim as the value for the `version` output). Instead, the URL supplied for this input is assumed to be a full URL to download LLVM and Clang binaries. This input can be used if this action lacks support for a recent LLVM and Clang version or if you have LLVM and Clang binaries mirror in a way that can't be handled by the `mirror-url` input.
64
62
65
-
### `ubuntu-version`
63
+
### `directory`
66
64
67
-
The version override of Ubuntu to use for the Linux platform.
65
+
The directory to install LLVM and Clang binaries to. If not provided, `C:\Program Files\LLVM` is used as the default value on Windows and `./llvm` is used on other operating systems.
68
66
69
-
For a given LLVM and Clang version, there are sometimes multiple binaries available targeting different versions of Ubuntu (e.g., `16.04` and `18.04`). By default this action will download the binaries for the most recent [LTS version](https://ubuntu.com/blog/what-is-an-ubuntu-lts-release) binaries are available for. This option can be used to override this default and pick a different version.
67
+
This action puts the value of this input into the `LLVM_PATH` environment variable which allows for easy use of the directory containing the LLVM and Clang binaries in subsequent jobs (e.g., `${{ env.LLVM_PATH }}`).
70
68
71
69
### `cached`
72
70
73
71
Whether the LLVM and Clang binaries were cached.
74
72
75
73
**Note:** Caching is not currently recommended, it is usually slower than just directly downloading the LLVM and Clang binaries.
76
74
77
-
### `download-url`
75
+
### `mirror-url`
78
76
79
-
The URL to download LLVM and Clang binaries from.
77
+
The base URL to download LLVM and Clang binaries from instead of using GitHub.
80
78
81
79
This can be used if you want to download the LLVM and Clang binaries from a mirror of the GitHub releases for the `llvm/llvm-project` repository provided by a service like Artifactory.
82
80
83
81
### `auth`
84
82
85
83
The `Authorization` header to use when downloading LLVM and Clang binaries.
86
84
87
-
This is unnecessary unless you are providing a custom download URL using the `download-url` input and you need to provide an `Authorization` header when downloading the LLVM and Clang binaries from the service targeted by that custom download URL.
85
+
This is unnecessary unless you are providing the `mirror-url` input and you need to provide an `Authorization` header when downloading the LLVM and Clang binaries from the service targeted by that custom download URL.
88
86
89
87
### `env`
90
88
@@ -96,4 +94,4 @@ Whether to set `CC` and `CXX` environment variables to Clang paths.
96
94
97
95
The full version of LLVM and Clang binaries installed.
98
96
99
-
This will only differ from the value of the `version` option when specifying a minimum version like `3.6` or `3`.
97
+
This will only differ from the value of the `version` input when specifying a minimum version like `10.1` or `10`.
0 commit comments