added an include-what-you-use GitHub Action (#3759)
This commit is contained in:
parent
0807924d32
commit
8f7770f512
|
@ -0,0 +1,63 @@
|
||||||
|
# Syntax reference https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
|
||||||
|
# Environment reference https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
|
||||||
|
name: include-what-you-use
|
||||||
|
|
||||||
|
on: workflow_dispatch
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
|
container:
|
||||||
|
image: "kalilinux/kali-rolling"
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
# TODO: the necessary packages are excessive - mostly because of Qt - use a pre-built image
|
||||||
|
- name: Install missing software
|
||||||
|
run: |
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y cmake g++ make libz3-dev libpcre3-dev
|
||||||
|
apt-get install -y qtbase5-dev qttools5-dev libqt5charts5-dev
|
||||||
|
apt-get install -y wget iwyu
|
||||||
|
|
||||||
|
- name: Prepare CMake
|
||||||
|
run: |
|
||||||
|
mkdir cmake.output
|
||||||
|
cd cmake.output
|
||||||
|
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DUSE_Z3=On -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCPPCHK_GLIBCXX_DEBUG=Off -DUSE_MATCHCOMPILER=Off ..
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
- name: Prepare CMake dependencies
|
||||||
|
run: |
|
||||||
|
# make sure the precompiled headers exist
|
||||||
|
#make -C cmake.output lib/CMakeFiles/lib_objs.dir/cmake_pch.hxx.cxx
|
||||||
|
#make -C cmake.output test/CMakeFiles/testrunner.dir/cmake_pch.hxx.cxx
|
||||||
|
# make sure the auto-generated GUI sources exist
|
||||||
|
make -C cmake.output autogen
|
||||||
|
# make sure the auto-generated GUI dependencies exist
|
||||||
|
make -C cmake.output gui-build-deps
|
||||||
|
|
||||||
|
- name: Build Qt mappings
|
||||||
|
run: |
|
||||||
|
wget https://raw.githubusercontent.com/include-what-you-use/include-what-you-use/master/mapgen/iwyu-mapgen-qt.py
|
||||||
|
python3 iwyu-mapgen-qt.py /usr/include/x86_64-linux-gnu/qt5/ > qt5.imp
|
||||||
|
|
||||||
|
# TODO: the mapping file causes a massive slowdown so we cannot use it at the moment.
|
||||||
|
# add "-Xiwyu --mapping_file=qt5.imp" at the end of the whole command if we can use them.
|
||||||
|
- name: iwyu_tool
|
||||||
|
run: |
|
||||||
|
# do not fail for now so the output is being saved
|
||||||
|
iwyu_tool -p cmake.output -j $(nproc) -- -w > iwyu.log || true
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: Qt Mappings
|
||||||
|
path: ./qt5.imp
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: Logs
|
||||||
|
path: ./*.log
|
|
@ -62,8 +62,7 @@
|
||||||
# include <ucontext.h>
|
# include <ucontext.h>
|
||||||
#endif
|
#endif
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#include <sys/syscall.h>
|
#include <syscall.h>
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -59,15 +59,15 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
#include "errortypes.h"
|
|
||||||
#include "cppcheckexecutor.h"
|
#include "cppcheckexecutor.h"
|
||||||
|
|
||||||
|
#ifdef NDEBUG
|
||||||
|
#include "errortypes.h"
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#ifdef NDEBUG
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
|
@ -38,6 +38,7 @@
|
||||||
#ifdef __SVR4 // Solaris
|
#ifdef __SVR4 // Solaris
|
||||||
#include <sys/loadavg.h>
|
#include <sys/loadavg.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef THREADING_MODEL_FORK
|
#ifdef THREADING_MODEL_FORK
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
#include <sys/prctl.h>
|
#include <sys/prctl.h>
|
||||||
|
@ -45,8 +46,10 @@
|
||||||
#include <sys/select.h>
|
#include <sys/select.h>
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <csignal>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef THREADING_MODEL_WIN
|
#ifdef THREADING_MODEL_WIN
|
||||||
#include <future>
|
#include <future>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
|
|
|
@ -27,12 +27,13 @@
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <fstream>
|
#include <fstream> // IWYU pragma: keep
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include <sstream>
|
#include <sstream> // IWYU pragma: keep
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
#include <type_traits>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#ifdef SIMPLECPP_WINDOWS
|
#ifdef SIMPLECPP_WINDOWS
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <tinyxml2.h>
|
#include <tinyxml2.h>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <sstream>
|
#include <sstream> // IWYU pragma: keep
|
||||||
|
|
||||||
AnalyzerInformation::~AnalyzerInformation()
|
AnalyzerInformation::~AnalyzerInformation()
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,7 +40,6 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <ostream>
|
#include <ostream>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <type_traits>
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <sstream>
|
#include <sstream> // IWYU pragma: keep
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
std::ostream& operator<<(std::ostream& os, const Color& /*c*/)
|
std::ostream& operator<<(std::ostream& os, const Color& /*c*/)
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include "path.h"
|
#include "path.h"
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
#include "tokenlist.h"
|
#include "tokenlist.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <fstream>
|
#include <fstream> // IWYU pragma: keep
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
const Scope* PathAnalysis::findOuterScope(const Scope * scope)
|
const Scope* PathAnalysis::findOuterScope(const Scope * scope)
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <list>
|
#include <list>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <type_traits>
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <stack>
|
#include <stack>
|
||||||
#include <type_traits>
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
static Token *skipRequires(Token *tok)
|
static Token *skipRequires(Token *tok)
|
||||||
|
|
|
@ -16,17 +16,18 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "errortypes.h"
|
|
||||||
#include "options.h"
|
#include "options.h"
|
||||||
#include "preprocessor.h"
|
#include "preprocessor.h"
|
||||||
#include "testsuite.h"
|
#include "testsuite.h"
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <exception>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#ifdef NDEBUG
|
#ifdef NDEBUG
|
||||||
|
#include "errortypes.h" // for InternalError
|
||||||
|
|
||||||
|
#include <exception>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <string>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
|
Loading…
Reference in New Issue