Compare commits

...

3 Commits

Author SHA1 Message Date
renovate[bot] 71a5fa2eea
chore(deps): update actions/setup-node action to v6 2025-11-10 08:16:38 +00:00
Amin Yahyaabadi 9bc9b8cd8a chore(release): v1.7.2 [skip test] 2025-11-10 00:13:02 -08:00
Amin Ya 3481e9e840
feat: support LLVM 21 + GCC 15.2 (#447) 2025-11-10 00:10:16 -08:00
23 changed files with 159 additions and 51 deletions

View File

@ -12,7 +12,7 @@ concurrency:
env:
NODE_OPTIONS: --enable-source-maps
version: "1.7.1"
version: "1.7.2"
jobs:
Build:
@ -29,7 +29,7 @@ jobs:
ref: ${{ github.head_ref || github.ref_name }}
- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: "./.nvmrc"
@ -99,7 +99,7 @@ jobs:
name: dist
- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: "./.nvmrc"
@ -180,7 +180,7 @@ jobs:
name: dist
- name: Setup Node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: "./.nvmrc"
@ -214,7 +214,7 @@ jobs:
RUNNER_OS_NAME: ${{ matrix.os }}
- name: Setup Node 20
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 20
@ -233,7 +233,7 @@ jobs:
- name: Setup Node 12
if: ${{ !contains(matrix.os, 'macos-14') && !contains(matrix.os, 'macos-15') }}
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 12
- name: Smoke Test Legacy Bundle

2
.nvmrc
View File

@ -1 +1 @@
22.17.0
22.21.1

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.21...3.28)
project(
setup_cpp_tests
VERSION 1.7.1
VERSION 1.7.2
DESCRIPTION "Tests for setup-cpp"
HOMEPAGE_URL "https://github.com/aminya/setup-cpp"
LANGUAGES CXX C)

View File

@ -70,19 +70,19 @@ NOTE: setup-cpp requires Nodejs 12 or higher. If Nodejs shipped with your distri
#### With executable
Download the executable for your platform from [here](https://github.com/aminya/setup-cpp/releases/tag/v1.7.1), and run it with the available options. You can also automate downloading using `curl`, or other similar tools.
Download the executable for your platform from [here](https://github.com/aminya/setup-cpp/releases/tag/v1.7.2), and run it with the available options. You can also automate downloading using `curl`, or other similar tools.
```shell
# windows x64
curl -o ./setup-cpp.exe -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.1/setup-cpp-x64-windows.exe"
curl -o ./setup-cpp.exe -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.2/setup-cpp-x64-windows.exe"
# linux x64
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.1/setup-cpp-x64-linux"
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.2/setup-cpp-x64-linux"
# linux arm64
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.1/setup-cpp-arm64-linux"
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.2/setup-cpp-arm64-linux"
# macos arm64
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.1/setup-cpp-arm64-macos"
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.2/setup-cpp-arm64-macos"
# macos x64
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.1/setup-cpp-x64-macos"
curl -o ./setup-cpp -LJ "https://github.com/aminya/setup-cpp/releases/download/v1.7.2/setup-cpp-x64-macos"
```
An example that installs llvm, cmake, ninja, ccache, and vcpkg:
@ -213,8 +213,8 @@ The tags are in the following template:
- Base image: `aminya/setup-cpp-ubuntu:24.04`
- Compiler image: `aminya/setup-cpp-ubuntu-llvm:24.04`
- Base image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu:24.04-v1.7.1`
- Compiler image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu-llvm:24.04-v1.7.1`
- Base image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu:24.04-v1.7.2`
- Compiler image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu-llvm:24.04-v1.7.2`
The supported platforms are `ubuntu`, `alpine`, `fedora`, and `arch`. The supported compilers are `llvm`, `gcc`, and `mingw`.
@ -366,7 +366,7 @@ RUN apt-get update -qq && \
# install nodejs
apt-get install -y --no-install-recommends nodejs npm && \
# install setup-cpp
npm install -g setup-cpp@v1.7.1 && \
npm install -g setup-cpp@v1.7.2 && \
# install the compiler and tools
NODE_OPTIONS="--enable-source-maps" \
setup-cpp \
@ -476,7 +476,7 @@ stages:
apt-get install -y --no-install-recommends nodejs npm
# install setup-cpp
npm install -g setup-cpp@v1.7.1
npm install -g setup-cpp@v1.7.2
# install the compiler and tools
./setup-cpp-x64-linux --compiler $compiler --cmake true --ninja true --ccache true --vcpkg true

View File

@ -20,8 +20,8 @@ The tags are in the following template:
- Base image: `aminya/setup-cpp-ubuntu:24.04`
- Compiler image: `aminya/setup-cpp-ubuntu-llvm:24.04`
- Base image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu:24.04-v1.7.1`
- Compiler image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu-llvm:24.04-v1.7.1`
- Base image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu:24.04-v1.7.2`
- Compiler image with pinned setup-cpp version: `aminya/setup-cpp-ubuntu-llvm:24.04-v1.7.2`
The supported platforms are `ubuntu`, `alpine`, `fedora`, and `arch`. The supported compilers are `llvm`, `gcc`, and `mingw`.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
{
"name": "setup-cpp",
"version": "1.7.1"
"version": "1.7.2"
}

View File

@ -1,6 +1,6 @@
{
"name": "setup-cpp",
"version": "1.7.1",
"version": "1.7.2",
"description": "Install all the tools required for building and testing C++/C projects.",
"repository": "https://github.com/aminya/setup-cpp",
"license": "Apache-2.0",
@ -17,12 +17,12 @@
"build.cli.legacy": "cross-env NODE_ENV=production vite build --mode cli-legacy",
"build.library": "cross-env NODE_ENV=production vite build --mode library",
"build.types.modern": "tsc -p ./tsconfig.types.json",
"build.json": "shx cp ./src/*/*.json ./dist/legacy/ && shx cp ./dist/legacy/*.json ./dist/modern && minijson --file ./dist/**/*.json",
"build.json": "shx cp ./src/*/*.json ./dist/legacy/ && shx cp ./dist/legacy/*.json ./dist/modern && minijson --file \"dist/**/*.json\"",
"build.bash": "shx cp ./src/*/*.bash ./dist/legacy/ && shx cp ./dist/legacy/*.bash ./dist/modern",
"bump": "ncu -u -x execa,numerous,eslint,@types/eslint,which && pnpm update && pnpx typesync && pnpm run clean",
"bump.llvm": "GITHUB_TOKEN=$(gh auth token) tsx ./src/llvm/assets-list.ts",
"bump.gcc": "GITHUB_TOKEN=$(gh auth token) tsx ./src/gcc/assets-list.ts",
"bump.infer": "GITHUB_TOKEN=$(gh auth token) tsx ./src/infer/assets-list.ts",
"bump.llvm": "tsx ./src/llvm/assets-list.ts",
"bump.gcc": "tsx ./src/gcc/assets-list.ts",
"bump.infer": "tsx ./src/infer/assets-list.ts",
"bump.versions": "run-p bump.llvm bump.gcc bump.infer && run-s format",
"clean": "shx rm -rf ./dist ./packages/*/dist ./exe ./.parcel-cache && shx mkdir -p ./dist/legacy ./dist/modern ./dist/modern ",
"dev.vite": "cross-env NODE_ENV=development vite build --watch",
@ -191,7 +191,7 @@
"node": ">=12.x",
"pnpm": "^10"
},
"packageManager": "pnpm@10.15.0",
"packageManager": "pnpm@10.21.0",
"workspaces": [
"packages/*"
],

View File

@ -1,8 +1,48 @@
{
"15.2.0posix-13.0.0-ucrt-r3": [
"winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64ucrt-13.0.0-r3.7z",
"winlibs-i686-posix-dwarf-gcc-15.2.0-mingw-w64ucrt-13.0.0-r3.7z"
],
"15.2.0posix-13.0.0-ucrt-r2": [
"winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64ucrt-13.0.0-r2.7z",
"winlibs-i686-posix-dwarf-gcc-15.2.0-mingw-w64ucrt-13.0.0-r2.7z"
],
"15.2.0posix-13.0.0-ucrt-r1": [
"winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64ucrt-13.0.0-r1.7z",
"winlibs-i686-posix-dwarf-gcc-15.2.0-mingw-w64ucrt-13.0.0-r1.7z"
],
"15.2.0posix-13.0.0-msvcrt-r3": [
"winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r3.7z",
"winlibs-i686-posix-dwarf-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r3.7z"
],
"15.2.0posix-13.0.0-msvcrt-r2": [
"winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r2.7z",
"winlibs-i686-posix-dwarf-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r2.7z"
],
"15.2.0posix-13.0.0-msvcrt-r1": [
"winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r1.7z",
"winlibs-i686-posix-dwarf-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r1.7z"
],
"15.1.0posix-13.0.0-ucrt-r4": [
"winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64ucrt-13.0.0-r4.7z",
"winlibs-i686-posix-dwarf-gcc-15.1.0-mingw-w64ucrt-13.0.0-r4.7z"
],
"15.1.0posix-13.0.0-ucrt-r3": [
"winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64ucrt-13.0.0-r3.7z",
"winlibs-i686-posix-dwarf-gcc-15.1.0-mingw-w64ucrt-13.0.0-r3.7z"
],
"15.1.0posix-13.0.0-ucrt-r2": [
"winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64ucrt-13.0.0-r2.7z",
"winlibs-i686-posix-dwarf-gcc-15.1.0-mingw-w64ucrt-13.0.0-r2.7z"
],
"15.1.0posix-13.0.0-msvcrt-r4": [
"winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64msvcrt-13.0.0-r4.7z",
"winlibs-i686-posix-dwarf-gcc-15.1.0-mingw-w64msvcrt-13.0.0-r4.7z"
],
"15.1.0posix-13.0.0-msvcrt-r3": [
"winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64msvcrt-13.0.0-r3.7z",
"winlibs-i686-posix-dwarf-gcc-15.1.0-mingw-w64msvcrt-13.0.0-r3.7z"
],
"15.1.0posix-13.0.0-msvcrt-r2": [
"winlibs-x86_64-posix-seh-gcc-15.1.0-mingw-w64msvcrt-13.0.0-r2.7z",
"winlibs-i686-posix-dwarf-gcc-15.1.0-mingw-w64msvcrt-13.0.0-r2.7z"

View File

@ -1,6 +1,77 @@
{
"llvmorg-21.1.5": [
"clang+llvm-21.1.5-x86_64-pc-windows-msvc.tar.xz",
"LLVM-21.1.5-win64.exe",
"LLVM-21.1.5-win32.exe",
"LLVM-21.1.5-Linux-X64.tar.xz",
"LLVM-21.1.5-Linux-ARM64.tar.xz"
],
"llvmorg-21.1.4": [
"clang+llvm-21.1.4-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-21.1.4-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-21.1.4-aarch64-pc-windows-msvc.tar.xz",
"LLVM-21.1.4-woa64.exe",
"LLVM-21.1.4-win64.exe",
"LLVM-21.1.4-win32.exe",
"LLVM-21.1.4-Linux-X64.tar.xz",
"LLVM-21.1.4-Linux-ARM64.tar.xz"
],
"llvmorg-21.1.3": [
"clang+llvm-21.1.3-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-21.1.3-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-21.1.3-aarch64-pc-windows-msvc.tar.xz",
"LLVM-21.1.3-woa64.exe",
"LLVM-21.1.3-win64.exe",
"LLVM-21.1.3-win32.exe",
"LLVM-21.1.3-Linux-X64.tar.xz",
"LLVM-21.1.3-Linux-ARM64.tar.xz"
],
"llvmorg-21.1.2": [
"clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-21.1.2-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-21.1.2-aarch64-pc-windows-msvc.tar.xz",
"LLVM-21.1.2-woa64.exe",
"LLVM-21.1.2-win64.exe",
"LLVM-21.1.2-win32.exe",
"LLVM-21.1.2-Linux-X64.tar.xz",
"LLVM-21.1.2-Linux-ARM64.tar.xz"
],
"llvmorg-21.1.1": [
"clang+llvm-21.1.1-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-21.1.1-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-21.1.1-aarch64-pc-windows-msvc.tar.xz",
"LLVM-21.1.1-woa64.exe",
"LLVM-21.1.1-win64.exe",
"LLVM-21.1.1-win32.exe",
"LLVM-21.1.1-Linux-X64.tar.xz",
"LLVM-21.1.1-Linux-ARM64.tar.xz"
],
"llvmorg-21.1.0": [
"clang+llvm-21.1.0-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-21.1.0-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-21.1.0-aarch64-pc-windows-msvc.tar.xz",
"LLVM-21.1.0-woa64.exe",
"LLVM-21.1.0-win64.exe",
"LLVM-21.1.0-win32.exe",
"LLVM-21.1.0-Linux-X64.tar.xz",
"LLVM-21.1.0-Linux-ARM64.tar.xz"
],
"llvmorg-20.1.8": [
"clang+llvm-20.1.8-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-20.1.8-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-20.1.8-aarch64-pc-windows-msvc.tar.xz",
"LLVM-20.1.8-woa64.exe",
"LLVM-20.1.8-win64.exe",
"LLVM-20.1.8-win32.exe",
"LLVM-20.1.8-macOS-ARM64.tar.xz",
"LLVM-20.1.8-Linux-X64.tar.xz",
"LLVM-20.1.8-Linux-ARM64.tar.xz"
],
"llvmorg-20.1.7": [
"clang+llvm-20.1.7-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-20.1.7-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-20.1.7-aarch64-pc-windows-msvc.tar.xz",
"LLVM-20.1.7-woa64.exe",
"LLVM-20.1.7-win64.exe",
"LLVM-20.1.7-win32.exe",
"LLVM-20.1.7-macOS-X64.tar.xz",
@ -9,12 +80,9 @@
"LLVM-20.1.7-Linux-ARM64.tar.xz"
],
"llvmorg-20.1.6": [
"clang+llvm-20.1.7-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-20.1.7-aarch64-pc-windows-msvc.tar.xz",
"clang+llvm-20.1.6-x86_64-pc-windows-msvc.tar.xz",
"clang+llvm-20.1.6-armv7a-linux-gnueabihf.tar.gz",
"clang+llvm-20.1.6-aarch64-pc-windows-msvc.tar.xz",
"LLVM-20.1.7-woa64.exe",
"LLVM-20.1.6-woa64.exe",
"LLVM-20.1.6-win64.exe",
"LLVM-20.1.6-win32.exe",

View File

@ -1,7 +1,7 @@
import module from "module"
import { type AliasOptions, defineConfig } from "vite"
import babel from "vite-plugin-babel"
import babelConfig from "./babel.config.cjs"
import babelConfig from "./babel.config.mjs"
const viteConfig = defineConfig((configEnv) => {
const isLegacy = configEnv.mode.includes("legacy")