--- steps: # - name: "Extract plugin documentation" # description: "Extract documentation from source code to a markdown file" # plugin: # name: "docmd" # items: # # - [ 'c++', 'input_filename.cpp', 'output_filename_cpp.md'] # - ['yaml', 'new/bash.yml', 'docs/plugin_bash.md'] # - ['yaml', 'new/beamer.yml', 'docs/plugin_beamer.md'] # - ['yaml', 'new/clang-format_config.yml', 'docs/plugin_clang-format_config.md'] # - ['yaml', 'new/clang-format.yml', 'docs/plugin_clang-format.md'] # - ['yaml', 'new/clang-tidy.yml', 'docs/plugin_clang-tidy.md'] # - ['yaml', 'new/cppcheck.yml', 'docs/plugin_cppcheck.md'] # - ['yaml', 'new/fetch2.yml', 'docs/plugin_fetch2.md'] # - ['yaml', 'new/fetch.yml', 'docs/plugin_fetch.md'] # - ['yaml', 'new/pikchr.yml', 'docs/plugin_pikchr.md'] # - ['yaml', 'new/git_deploy.yml', 'docs/plugin_git_deploy.md'] # - ['yaml', 'new/git_publish.yml', 'docs/plugin_git_publish.md'] # - ['yaml', 'new/minio.yml', 'docs/plugin_minio.md'] # - ['yaml', 'new/mkdocs_material_config.yml', 'docs/plugin_mkdocs_material_config.md'] # - ['yaml', 'new/mkdocs_material.yml', 'docs/plugin_mkdocs_material.md'] # - ['yaml', 'new/npm.yml', 'docs/plugin_npm.md'] # - ['yaml', 'new/pandoc.yml', 'docs/plugin_pandoc.md'] # - ['yaml', 'new/plantuml.yml', 'docs/plugin_plantuml.md'] # - ['yaml', 'new/skip.yml', 'docs/plugin_skip.md'] - name: "C++ check with clang-tidy" only: clangtidy network: bridge plugin: name: "clang-tidy" checks: - "-*" - "modernize-*" - "bugprone-*" - "performance-*" - "-clang-analyzer-*" # - "cppcoreguidelines-*" # - "hicpp-*" # - "performance-" # - "portability-" # - "readability-" fix: true options: - "-std=c++20" - "-DFMT_HEADER_ONLY" - "-DSPDLOG_FMT_EXTERNAL=1" - "--exclude-header-filter='include/3rd/*'" include: - "include/" system_include: - "include/3rd/" source: - "src/*Parser.cpp" - name: "C++ check with cppcheck" plugin: name: "cppcheck" include: - "include" source: - "src" - "test" platform: "unix64" std: "c++20" options: - "-i src/single_compilation_unit.cpp" - "--checkers-report=auditing/cppcheck/report.txt" - "--suppress=missingInclude" - "--suppress=missingIncludeSystem" - "--check-level=exhaustive" - "--enable=performance" - "--enable=all" # - "--addon=misra" - name: "SAST com flawfinder" description: "C++ check with flawfinder" plugin: name: "flawfinder" source: - "src/*.cpp" - "include/*Parser.hpp" - "include/MicroCI*.hpp" - name: "Convert pdf to jpg" docker: intmain/microci_poppler:latest plugin: name: "bash" sh: | cd docs/assets pdftoppm repository-open-graph.pdf repository-open-graph -jpeg - name: "Build diagrams with plantuml" description: "Build diagrams from textual description" plugin: name: "plantuml" source: - "docs/diagrams/*.puml" type: png config: "docs/diagrams/skinparams.iuml" output: "/microci_workspace/docs/diagrams" - name: "Build diagrams - pikchr" description: "Build diagrams from textual description" plugin: name: "pikchr" source: - "docs/diagrams/*.pikchr" type: svg output_folder: "docs/diagrams/" - name: "Build HTML documentation" description: "Build project documentation" plugin: name: "mkdocs_material" action: "build" - name: "Documentation preview http://localhost:8000" description: "Serve documentation preview at port 8000" only: "serve" plugin: name: "mkdocs_material" action: "serve" - name: "Configure Github pages and README" description: "Configure Apex domain for github pages and README file" plugin: name: bash bash: | mkdir -p site/ cp github-pages/CNAME site/ # README for https://github.com/geraldolsribeiro/microci.dev cat docs/index.md | sed 's#