77
77
libcxx-runtimes: libcxx;libcxxabi{{#if (ine os 'windows') }};libunwind{{/if}}
78
78
libcxx-targets: cxx {{#if (ine os 'windows') }}cxxabi unwind{{/if}} install-cxx {{#if (ine os 'windows') }}install-cxxabi install-unwind{{/if}}
79
79
libcxx-cxxflags: {{#if (ieq os 'windows') }}-D__ORDER_LITTLE_ENDIAN__=1234 -D__ORDER_BIG_ENDIAN__=4321 -D__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__{{/if}}
80
- libcxx-cmake-args: -D LLVM_ENABLE_RUNTIMES="{{ libcxx-runtimes }}" {{#if (ieq os 'windows') }}-D LIBCXXABI_USE_LLVM_UNWINDER=OFF -D LIBCXXABI_ENABLE_SHARED=OFF -D LIBCXXABI_ENABLE_STATIC=ON -D LIBCXX_ENABLE_SHARED=OFF -D LIBCXX_NO_VCRUNTIME=ON{{/if}} {{#if (ieq os 'macos') }}-D CMAKE_OSX_ARCHITECTURES=""{{/if}}
80
+ libcxx-cmake-args: -D LLVM_ENABLE_RUNTIMES="{{ libcxx-runtimes }}" {{#if (ieq os 'windows') }}-D LIBCXXABI_USE_LLVM_UNWINDER=OFF -D LIBCXXABI_ENABLE_SHARED=OFF -D LIBCXXABI_ENABLE_STATIC=ON -D LIBCXX_ENABLE_SHARED=OFF -D LIBCXX_NO_VCRUNTIME=ON{{/if}} {{#if (ieq os 'macos') }}-D CMAKE_OSX_ARCHITECTURES=""{{/if}}
81
81
mrdocs-ccflags: {{ ccflags }} {{#if (eq compiler 'gcc') }}-static{{/if}} {{#if asan }}-static-libasan{{/if}} {{#if tsan }}-static-libtsan{{/if}}
82
82
mrdocs-cxxflags: {{ cxxflags }} {{#if (eq compiler 'gcc') }}-static{{/if}} {{#if asan }}-static-libasan{{/if}} {{#if tsan }}-static-libtsan{{/if}}
83
83
mrdocs-package-generators: {{#if (ieq os 'windows') }}7Z ZIP WIX{{else}}TGZ TXZ{{/if}}
@@ -233,19 +233,19 @@ jobs:
233
233
build-type : Release
234
234
extra-args : |
235
235
-D LIBXML2_WITH_PROGRAMS=ON
236
- -D LIBXML2_WITH_FTP=OFF
236
+ -D LIBXML2_WITH_FTP=OFF
237
237
-D LIBXML2_WITH_HTTP=OFF
238
- -D LIBXML2_WITH_ICONV=OFF
238
+ -D LIBXML2_WITH_ICONV=OFF
239
239
-D LIBXML2_WITH_LEGACY=OFF
240
- -D LIBXML2_WITH_LZMA=OFF
241
- -D LIBXML2_WITH_ZLIB=OFF
240
+ -D LIBXML2_WITH_LZMA=OFF
241
+ -D LIBXML2_WITH_ZLIB=OFF
242
242
-D LIBXML2_WITH_ICU=OFF
243
- -D LIBXML2_WITH_TESTS=OFF
244
- -D LIBXML2_WITH_HTML=ON
243
+ -D LIBXML2_WITH_TESTS=OFF
244
+ -D LIBXML2_WITH_HTML=ON
245
245
-D LIBXML2_WITH_C14N=ON
246
- -D LIBXML2_WITH_CATALOG=ON
247
- -D LIBXML2_WITH_DEBUG=ON
248
- -D LIBXML2_WITH_ISO8859X=ON
246
+ -D LIBXML2_WITH_CATALOG=ON
247
+ -D LIBXML2_WITH_DEBUG=ON
248
+ -D LIBXML2_WITH_ISO8859X=ON
249
249
-D LIBXML2_WITH_MEM_DEBUG=OFF
250
250
-D LIBXML2_WITH_MODULES=ON
251
251
-D LIBXML2_WITH_OUTPUT=ON
@@ -400,7 +400,7 @@ jobs:
400
400
run : |
401
401
# Find python
402
402
python=$(command -v python3 || command -v python)
403
- # The schema in this branch is up to date
403
+ # The schema in this branch is up to date
404
404
"$python" ./util/generate-yaml-schema.py --check
405
405
# The schema in the docs folder is valid
406
406
npx -y -p ajv-cli -- ajv compile -s docs/mrdocs.schema.json
@@ -428,12 +428,12 @@ jobs:
428
428
CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
429
429
run : |
430
430
set -x
431
-
431
+
432
432
if [ -z "$CODECOV_TOKEN" ]; then
433
433
echo "CODECOV_TOKEN is not set. Skipping coverage report."
434
434
exit 0
435
435
fi
436
-
436
+
437
437
# Find gcov
438
438
gcov_tool="gcov"
439
439
for version in "${{steps.setup-cpp.outputs.version-major}}.${{steps.setup-cpp.outputs.version-minor}}" "${{steps.setup-cpp.outputs.version-major}}"; do
@@ -442,18 +442,18 @@ jobs:
442
442
break
443
443
fi
444
444
done
445
-
445
+
446
446
for dir in "./build"; do
447
447
# Generate reports
448
448
echo "Generate report: $dir"
449
449
lcov --rc lcov_branch_coverage=0 --gcov-tool "$gcov_tool" --directory "$dir" --capture --output-file "$dir/all.info"
450
450
lcov --rc lcov_branch_coverage=0 --list "$dir/all.info"
451
-
452
- # Upload to codecov
451
+
452
+ # Upload to codecov
453
453
echo "Upload to codecov: $dir"
454
454
bash <(curl -s https://codecov.io/bash) -f "$dir/all.info"
455
455
done
456
-
456
+
457
457
# Summary
458
458
echo "# Coverage" >> $GITHUB_STEP_SUMMARY
459
459
echo "" >> $GITHUB_STEP_SUMMARY
@@ -516,17 +516,17 @@ jobs:
516
516
- name : Install MrDocs from Package
517
517
run : |
518
518
set -x
519
-
519
+
520
520
# Delete packages/_CPack_Packages files from previous runs
521
521
rm -rf packages/_CPack_Packages
522
-
522
+
523
523
# Print tree structure
524
524
find packages -print | sed 's;[^/]*/;|____;g;s;____|; |;g'
525
-
525
+
526
526
if [[ ${{ runner.os }} != 'Windows' ]]; then
527
527
dest_dir="$HOME/local"
528
- mkdir -p "$dest_dir"
529
- find packages -maxdepth 1 -name 'MrDocs-*.tar.gz' -exec tar -vxzf {} -C $dest_dir --strip-components=1 \;
528
+ mkdir -p "$dest_dir"
529
+ find packages -maxdepth 1 -name 'MrDocs-*.tar.gz' -exec tar -vxzf {} -C $dest_dir --strip-components=1 \;
530
530
else
531
531
dest_dir="$GITHUB_WORKSPACE/usr/local"
532
532
dest_dir=$(echo "$dest_dir" | sed 's/\\/\//g')
@@ -541,7 +541,7 @@ jobs:
541
541
fi
542
542
MRDOCS_ROOT="$dest_dir"
543
543
echo -e "MRDOCS_ROOT=$MRDOCS_ROOT" >> $GITHUB_ENV
544
- echo -e "$MRDOCS_ROOT/bin" >> $GITHUB_PATH
544
+ echo -e "$MRDOCS_ROOT/bin" >> $GITHUB_PATH
545
545
$MRDOCS_ROOT/bin/mrdocs --version
546
546
547
547
- name : Clone Boost.URL
@@ -571,7 +571,7 @@ jobs:
571
571
exit 1
572
572
fi
573
573
fi
574
-
574
+
575
575
# Step 3: Ensure llvm-symbolizer is in your PATH
576
576
llvm_bin_path=$(brew --prefix)/opt/llvm/bin
577
577
PATH="$PATH:$llvm_bin_path"
@@ -582,12 +582,12 @@ jobs:
582
582
else
583
583
echo "llvm-symbolizer found at: $LLVM_SYMBOLIZER_PATH"
584
584
fi
585
-
585
+
586
586
# Step 4: Export LLVM_SYMBOLIZER_PATH environment variable
587
587
export LLVM_SYMBOLIZER_PATH="$LLVM_SYMBOLIZER_PATH"
588
588
echo -e "LLVM_SYMBOLIZER_PATH=$LLVM_SYMBOLIZER_PATH" >> $GITHUB_ENV
589
589
echo "Environment variable LLVM_SYMBOLIZER_PATH set to: $LLVM_SYMBOLIZER_PATH"
590
-
590
+
591
591
- name : Generate Landing Page
592
592
working-directory : docs/website
593
593
run : |
@@ -600,7 +600,7 @@ jobs:
600
600
- name : Generate Remote Documentation
601
601
working-directory : docs
602
602
run : |
603
- # This playbook renders the documentation
603
+ # This playbook renders the documentation
604
604
# content for the website. It includes
605
605
# master, develop, and tags.
606
606
GH_TOKEN="${{ secrets.GITHUB_TOKEN }}"
@@ -620,7 +620,7 @@ jobs:
620
620
- name : Generate Local Documentation
621
621
working-directory : docs
622
622
run : |
623
- # This playbook allows us to render the
623
+ # This playbook allows us to render the
624
624
# documentation content and visualize it
625
625
# before a workflow that pushes to the
626
626
# website is triggered.
@@ -638,17 +638,18 @@ jobs:
638
638
"xml"
639
639
"html"
640
640
)
641
-
641
+
642
642
# Generate the demos for each variant and generator
643
643
for variant in single multi; do
644
644
for generator in "${generators[@]}"; do
645
645
[[ $generator = xml && $variant = multi ]] && continue
646
646
[[ $variant = multi ]] && multipage="true" || multipage="false"
647
- mrdocs --config="$(pwd)/boost/libs/url/doc/mrdocs.yml" "../CMakeLists.txt" --output="$(pwd)/demos/boost-url/$variant/$generator" --multipage=$multipage --generate="$generator"
648
- echo "Number of files in demos/boost-url/$variant/$generator: $(find demos/boost-url/$variant/$generator -type f | wc -l)"
647
+ echo "Generating demos for $variant/$generator/"
648
+ mrdocs --config="$(pwd)/boost/libs/url/doc/mrdocs.yml" "../CMakeLists.txt" --output="$(pwd)/demos/boost-url/$variant/$generator/" --multipage=$multipage --generate="$generator"
649
+ echo "Number of files in demos/boost-url/$variant/$generator/: $(find demos/boost-url/$variant/$generator/ -type f | wc -l)"
649
650
done
650
651
done
651
-
652
+
652
653
# Compress demos for the artifact
653
654
tar -cjf $(pwd)/demos.tar.gz -C $(pwd)/demos --strip-components 1 .
654
655
echo "demos_path=$(pwd)/demos.tar.gz" >> $GITHUB_ENV
@@ -757,7 +758,7 @@ jobs:
757
758
# Copy files: This step will copy the landing page and the documentation to www.mrdocs.com
758
759
chmod 755 -R $(pwd)/build/website
759
760
scp -o StrictHostKeyChecking=no -r $(pwd)/build/website/* [email protected] :/var/www/mrdox.com/
760
-
761
+
761
762
# Remove previous demos associated with this tag
762
763
demo_dir="/var/www/mrdox.com/demos/${{ github.ref_name }}"
763
764
ssh -o StrictHostKeyChecking=no [email protected] "rm -rf $demo_dir/boost-url; mkdir -p $demo_dir/boost-url"
@@ -855,10 +856,10 @@ jobs:
855
856
run : |
856
857
# LLVM is be installed with the default compiler
857
858
set -x
858
-
859
+
859
860
# Compress the LLVM installation
860
861
cd ../third-party/llvm-project
861
-
862
+
862
863
# Use 7z on windows
863
864
if [[ ${{ runner.os }} == 'Windows' ]]; then
864
865
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=32m -ms=on ${{ matrix.llvm-archive-filename }} install
@@ -871,15 +872,15 @@ jobs:
871
872
working-directory : ../third-party/llvm-project
872
873
run : |
873
874
set -x
874
-
875
+
875
876
# Ensure required commands exist
876
877
for cmd in ssh-keyscan ssh-agent ssh-add scp; do
877
878
if ! command -v $cmd >/dev/null; then
878
879
echo "$cmd not found"
879
880
exit 1
880
881
fi
881
882
done
882
-
883
+
883
884
# Add SSH key
884
885
mkdir -p ~/.ssh
885
886
ssh-keyscan dev-websites.cpp.al >> ~/.ssh/known_hosts
0 commit comments