diff options
author | Yordan Karadzhov <y.karadz@gmail.com> | 2020-12-11 17:07:56 +0200 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2020-12-21 19:13:16 -0500 |
commit | a6736cf144e33e506e8f68337cfa08ec95cc80fc (patch) | |
tree | ef16b16b34aaa63342e8daada5af670dadb715e2 | |
parent | e30c3057770e0b646b51762fead9ace4a0a00453 (diff) | |
download | kernel-shark-a6736cf144e33e506e8f68337cfa08ec95cc80fc.tar.gz |
kernel-shark: Add "github Actions" workflow
The workflow will install all third party libraries,
will build KernelShark and will run the tests.
Link: https://lore.kernel.org/linux-trace-devel/20201211150756.577366-33-y.karadz@gmail.com
Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r-- | .github/workflows/main.yml | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..e818f461 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,61 @@ +name: KernelShark CI (CMAKE) + +on: [push] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install Dependencies + shell: bash + run: | + sudo apt-get install build-essential git cmake libjson-c-dev -y + sudo apt-get install freeglut3-dev libxmu-dev libxi-dev -y + sudo apt-get install qtbase5-dev libboost-all-dev -y + git clone https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/ + cd libtraceevent + make + sudo make install + cd .. + git clone https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ + cd libtracefs + make + sudo make install + cd .. + git clone git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git + cd trace-cmd + make + sudo make install_libs + - name: Create Build Environment + # Some projects don't allow in-source building, so create a separate build directory + # We'll use this as our working directory for all subsequent commands + run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure CMake + # Use a bash shell so we can use the same syntax for environment variable + # access regardless of the host operating system + shell: bash + working-directory: ${{runner.workspace}}/build + # Note the current convention is to use the -S and -B options here to specify source + # and build directories, but this is only available with CMake 3.13 and higher. + # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_C_FLAGS_RELEASE="-Werror" + + - name: Build + working-directory: ${{runner.workspace}}/build + shell: bash + # Execute the build. You can specify a specific target with "--target <NAME>" + run: cmake --build . --config $BUILD_TYPE + + - name: Test + working-directory: ${{runner.workspace}}/build + shell: bash + # Execute tests defined by the CMake configuration. + run: ctest -C $BUILD_TYPE |