aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYordan Karadzhov <y.karadz@gmail.com>2020-12-11 17:07:56 +0200
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2020-12-21 19:13:16 -0500
commita6736cf144e33e506e8f68337cfa08ec95cc80fc (patch)
treeef16b16b34aaa63342e8daada5af670dadb715e2
parente30c3057770e0b646b51762fead9ace4a0a00453 (diff)
downloadkernel-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.yml61
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