Skip to content

Commit dcb7d10

Browse files
committed
Revert "fix(ast): prevent TU parent from including unmatched globals"
This reverts commit c3dbded. Revert "build: slim llvm build" This reverts commit 34ea190. Revert "ci(danger): better markdown format" This reverts commit 57e191e. Revert "ci(danger): split PR target ci workflows" This reverts commit 240921d. Revert "ci(danger): align report table and add top-files summary" This reverts commit 5429b2e. Revert "fix(ast): canonicalize friend targets" This reverts commit 76b7b43. Revert "build(bootstrap): modularize recipes" This reverts commit 0d4a845. Revert "chore: assign categories to regression tests" This reverts commit 681b0cd. Revert "fix: manual description comes before member lists" This reverts commit 92491de. Revert "feat: custom stylesheets" This reverts commit 5fe30c1. Revert "docs: split contribute.adoc guide" This reverts commit 302f0a6. Revert "test: support multipage golden tests" This reverts commit bf78b1b. Revert "test: run_ci_with_act.py script" This reverts commit 8326417. Revert "test: testClang_stdCxx default is C++26" This reverts commit 5527e9c. Revert "test: output normalization" This reverts commit d7ad1ce. Revert "test: --bad is disabled by default" This reverts commit 0dfdb22. Revert "test: check int tests results in ctest" This reverts commit ccd7f71. Revert "build: remove CMakeUserPresets.json.example" This reverts commit b2e4bad. Revert "ci: setup danger.js" This reverts commit 6f5f6e9. Revert "fix: preserve extraction mode when copying members from derived classes (#1120)" This reverts commit c406d57.
1 parent c3dbded commit dcb7d10

File tree

379 files changed

+17923
-32766
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

379 files changed

+17923
-32766
lines changed

.github/workflows/ci.yml

Lines changed: 108 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@ on:
99
tags:
1010
- "v*.*.*"
1111

12-
# pull_request runs the matrix/build on the PR head with the fork-scoped token
13-
# (no comment perms on base repo).
1412
pull_request:
1513
branches:
1614
- develop
1715

18-
1916
concurrency:
2017
group: ${{format('{0}:{1}', github.repository, github.ref)}}
2118
cancel-in-progress: true
@@ -26,10 +23,6 @@ jobs:
2623
container:
2724
image: ubuntu:24.04
2825
name: Generate Test Matrix
29-
# Permissions allow Danger to read PR context and post comments.
30-
permissions:
31-
contents: read
32-
pull-requests: write
3326
outputs:
3427
matrix: ${{ steps.cpp-matrix.outputs.matrix }}
3528
llvm-matrix: ${{ steps.llvm-matrix.outputs.llvm-matrix }}
@@ -73,9 +66,9 @@ jobs:
7366
apple-clang: Release
7467
msvc: RelWithDebInfo
7568
install: |
76-
gcc: git build-essential pkg-config python3 curl unzip openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev
77-
gcc Coverage: git build-essential pkg-config python3 curl unzip openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev lcov
78-
clang: git build-essential pkg-config python3 curl unzip openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev g++-14=14.2.0-4ubuntu2~24.04
69+
gcc: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev
70+
gcc Coverage: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev lcov
71+
clang: git build-essential pkg-config python3 curl openjdk-11-jdk pkg-config libncurses-dev libxml2-utils libxml2-dev g++-14=14.2.0-4ubuntu2~24.04
7972
msvc: ''
8073
extra-values: |
8174
use-libcxx: {{#if (and (ieq compiler 'clang') (ge major 19)) }}true{{else}}false{{/if}}
@@ -332,6 +325,36 @@ jobs:
332325
path: ${{ steps.rmatrix.outputs.llvm-path }}
333326
key: ${{ matrix.llvm-archive-basename }}
334327

328+
- name: Download LLVM Binaries
329+
id: llvm-download
330+
if: steps.llvm-cache.outputs.cache-hit != 'true'
331+
run: |
332+
set -x
333+
url=https://mrdocs.com/llvm+clang/${{ matrix.llvm-archive-filename }}
334+
http_status=$(curl -s -o /dev/null -w "%{http_code}" -I "$url")
335+
if [ "$http_status" -eq 200 ]; then
336+
found="true"
337+
echo "found=$found" >> $GITHUB_OUTPUT
338+
curl -L -o ${{ matrix.llvm-archive-filename }} "$url"
339+
install_prefix=${{ steps.rmatrix.outputs.llvm-path }}
340+
mkdir -p $install_prefix
341+
if [[ ${{ matrix.llvm-archive-extension }} == '7z' ]]; then
342+
7z x ${{ matrix.llvm-archive-filename }} -o$install_prefix
343+
else
344+
tar -xjf ${{ matrix.llvm-archive-filename }} -C $install_prefix
345+
fi
346+
if [[ $(ls -1 $install_prefix | wc -l) -eq 1 ]]; then
347+
single_dir=$(ls -1 $install_prefix)
348+
if [[ -d $install_prefix/$single_dir ]]; then
349+
mv $install_prefix/$single_dir/* $install_prefix/
350+
rmdir $install_prefix/$single_dir
351+
fi
352+
fi
353+
else
354+
found="false"
355+
echo "found=$found" >> $GITHUB_OUTPUT
356+
fi
357+
335358
# Installs libc++ separately, using the LLVM standalone runtimes build.
336359
# The libc++ built here will be built using the host compiler, so this is
337360
# limited by what libc++ at the current LLVM revision supports.
@@ -345,27 +368,16 @@ jobs:
345368
# FIXME: Build this for the GCC and MacOS sanitizer jobs.
346369
# Currently GCC fails linking it, and for MacOS there are compiler-rt
347370
# requirements not satisfied.
348-
- name: Fetch LLVM source archive
349-
if: steps.llvm-cache.outputs.cache-hit != 'true'
350-
run: |
351-
set -eux
352-
mkdir -p ../third-party
353-
cd ../third-party
354-
archive="llvm-${{ matrix.llvm-hash }}.zip"
355-
if [ ! -d llvm-project ]; then
356-
curl -L -o "$archive" "https://github.com/llvm/llvm-project/archive/${{ matrix.llvm-hash }}.zip"
357-
unzip -q "$archive"
358-
mv "llvm-project-${{ matrix.llvm-hash }}" llvm-project
359-
rm "$archive"
360-
fi
361-
362371
- name: Install libc++
363372
id: install_libcxx
364373
uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.12
365-
if: matrix.use-libcxx == 'true' && steps.llvm-cache.outputs.cache-hit != 'true'
374+
if: matrix.use-libcxx == 'true' && steps.llvm-cache.outputs.cache-hit != 'true' && steps.llvm-download.outputs.found != 'true'
366375
with:
367376
cmake-version: '>=3.26'
368377
source-dir: ../third-party/llvm-project/runtimes
378+
git-repository: https://github.com/llvm/llvm-project.git
379+
git-tag: ${{ matrix.llvm-hash }}
380+
download-dir: ../third-party/llvm-project
369381
build-dir: ${sourceDir}/build
370382
build-type: ${{ matrix.build-type }}
371383
extra-args: |
@@ -396,13 +408,16 @@ jobs:
396408
- name: Install LLVM
397409
id: install_llvm
398410
uses: alandefreitas/cpp-actions/cmake-workflow@v1.8.12
399-
if: steps.llvm-cache.outputs.cache-hit != 'true'
411+
if: steps.llvm-cache.outputs.cache-hit != 'true' && steps.llvm-download.outputs.found != 'true'
400412
with:
401413
cmake-version: '>=3.26'
402414
source-dir: ../third-party/llvm-project/llvm
415+
git-repository: https://github.com/llvm/llvm-project.git
416+
git-tag: ${{ matrix.llvm-hash }}
417+
download-dir: ../third-party/llvm-project
403418
patches: |
404-
./third-party/patches/llvm/llvm/CMakePresets.json
405-
./third-party/patches/llvm/llvm/CMakeUserPresets.json
419+
./third-party/llvm/CMakePresets.json
420+
./third-party/llvm/CMakeUserPresets.json
406421
build-dir: ${sourceDir}/build
407422
preset: ${{ matrix.llvm-build-preset }}
408423
build-type: ${{ matrix.build-type }}
@@ -438,8 +453,8 @@ jobs:
438453
source-dir: ../third-party/duktape
439454
url: https://github.com/svaarala/duktape/releases/download/v2.7.0/duktape-2.7.0.tar.xz
440455
patches: |
441-
./third-party/patches/duktape/CMakeLists.txt
442-
./third-party/patches/duktape/duktapeConfig.cmake.in
456+
./third-party/duktape/CMakeLists.txt
457+
./third-party/duktape/duktapeConfig.cmake.in
443458
build-dir: ${sourceDir}/build
444459
cc: ${{ steps.setup-cpp.outputs.cc }}
445460
cxx: ${{ steps.setup-cpp.outputs.cxx }}
@@ -458,8 +473,8 @@ jobs:
458473
source-dir: ../third-party/lua
459474
url: https://github.com/lua/lua/archive/refs/tags/v5.4.8.tar.gz
460475
patches: |
461-
./third-party/patches/lua/CMakeLists.txt
462-
./third-party/patches/lua/LuaConfig.cmake.in
476+
./third-party/lua/CMakeLists.txt
477+
./third-party/lua/LuaConfig.cmake.in
463478
build-dir: ${sourceDir}/build
464479
cc: ${{ steps.setup-cpp.outputs.cc }}
465480
cxx: ${{ steps.setup-cpp.outputs.cxx }}
@@ -881,17 +896,6 @@ jobs:
881896
npx gulp lint
882897
npx gulp
883898
884-
- name: Ensure all refs for Antora
885-
if: github.event_name == 'push' && (contains(fromJSON('["master", "develop"]'), github.ref_name) || startsWith(github.ref, 'refs/tags/')) && runner.os == 'Linux'
886-
run: |
887-
set -euo pipefail
888-
# Make sure Antora sees every branch and tag from the upstream repo,
889-
# regardless of who triggered the workflow.
890-
git remote set-url origin https://github.com/cppalliance/mrdocs.git
891-
git fetch --prune --prune-tags origin \
892-
'+refs/heads/*:refs/remotes/origin/*' \
893-
'+refs/tags/*:refs/tags/*'
894-
895899
- name: Generate Remote Documentation
896900
working-directory: docs
897901
run: |
@@ -1009,7 +1013,6 @@ jobs:
10091013
root="$(pwd)/demos/$project/$variant"
10101014
src="$root/adoc"
10111015
dst="$root/adoc-asciidoc"
1012-
stylesheet="$(pwd)/share/mrdocs/addons/generator/common/layouts/style.css"
10131016
10141017
# Create the top-level output dir
10151018
mkdir -p "$dst"
@@ -1020,7 +1023,7 @@ jobs:
10201023
rel="${f#"$src/"}" # path relative to $src
10211024
outdir="$dst/$(dirname "$rel")" # mirror subdir inside $dst
10221025
mkdir -p "$outdir"
1023-
asciidoctor -a stylesheet="${stylesheet}" -D "$outdir" "$f"
1026+
asciidoctor -D "$outdir" "$f"
10241027
done
10251028
done
10261029
fi
@@ -1224,9 +1227,69 @@ jobs:
12241227
with:
12251228
apt-get: ${{ matrix.install }}
12261229

1230+
- name: Check website releases
1231+
id: website-releases
1232+
run: |
1233+
set -x
1234+
archive_url="https://mrdocs.com/llvm+clang/${{ matrix.llvm-archive-filename }}"
1235+
http_status=$(curl -s -o /dev/null -w "%{http_code}" -I "$archive_url")
1236+
if [ "$http_status" -eq 200 ]; then
1237+
exists="true"
1238+
else
1239+
exists="false"
1240+
fi
1241+
echo "exists=$exists" >> $GITHUB_OUTPUT
1242+
12271243
- name: LLVM Binaries
12281244
id: llvm-cache
1245+
if: steps.website-releases.outputs.exists != 'true'
12291246
uses: actions/cache@v4
12301247
with:
12311248
path: ${{ steps.rmatrix.outputs.llvm-path }}
12321249
key: ${{ matrix.llvm-archive-basename }}
1250+
1251+
- name: Compress LLVM
1252+
id: llvm-upload
1253+
if: steps.llvm-cache.outputs.cache-hit == 'true'
1254+
shell: bash
1255+
run: |
1256+
# LLVM is be installed with the default compiler
1257+
set -x
1258+
1259+
# Use 7z on windows
1260+
if [[ ${{ runner.os }} == 'Windows' ]]; then
1261+
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on "${{ matrix.llvm-archive-filename }}" "${{ steps.rmatrix.outputs.llvm-path }}"
1262+
else
1263+
tar -cjf "${{ matrix.llvm-archive-filename }}" -C "${{ steps.rmatrix.outputs.llvm-path }}/.." llvm
1264+
fi
1265+
1266+
- name: Website LLVM Releases
1267+
if: steps.llvm-cache.outputs.cache-hit == 'true' && github.event_name == 'push' && (contains(fromJSON('["master", "develop"]'), github.ref_name) || startsWith(github.ref, 'refs/tags/'))
1268+
run: |
1269+
set -x
1270+
1271+
# Ensure required commands exist
1272+
for cmd in ssh-keyscan ssh-agent ssh-add scp; do
1273+
if ! command -v $cmd >/dev/null; then
1274+
echo "$cmd not found"
1275+
exit 1
1276+
fi
1277+
done
1278+
1279+
# Add SSH key
1280+
mkdir -p ~/.ssh
1281+
ssh-keyscan dev-websites.cpp.al >> ~/.ssh/known_hosts
1282+
chmod 600 ~/.ssh/known_hosts
1283+
echo "${{ secrets.DEV_WEBSITES_SSH_KEY }}" > ~/.ssh/github_actions
1284+
chmod 600 ~/.ssh/github_actions
1285+
1286+
# Start ssh-agent and add the key
1287+
SSH_AUTH_SOCK="$RUNNER_TEMP/ssh_agent.sock"
1288+
export SSH_AUTH_SOCK
1289+
ssh-agent -a $SSH_AUTH_SOCK > /dev/null
1290+
ssh-add ~/.ssh/github_actions
1291+
1292+
# Copy llvm archive: This step will copy the archive to www.mrdocs.com/llvm+clang
1293+
llvm_dir="/var/www/mrdox.com/llvm+clang"
1294+
chmod 755 ${{ matrix.llvm-archive-filename }}
1295+
scp -o StrictHostKeyChecking=no $(pwd)/${{ matrix.llvm-archive-filename }} ubuntu@dev-websites.cpp.al:$llvm_dir/

.github/workflows/pr-target-checks.yml

Lines changed: 0 additions & 39 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@
2020
/share/mrdocs/libcxx/
2121
/share/mrdocs/clang/
2222
/docs/modules/reference
23-
/node_modules
2423
/.gdbinit
2524
/.lldbinit
26-
/.github/node_modules/
27-
/util/danger/node_modules/
28-
/.roadmap
29-
/AGENTS.md
30-
# Ignore hidden OS files under golden fixtures
31-
test-files/golden-tests/**/.*
25+
/.github/node_modules/

0 commit comments

Comments
 (0)