From 486bf8ac4d1d49431cd686cfc1db0e8d0facc783 Mon Sep 17 00:00:00 2001 From: lizardgai4 <70610229+lizardgai4@users.noreply.github.com> Date: Sun, 4 Sep 2022 12:49:59 -0700 Subject: [PATCH] Create cmake.yml --- .github/workflows/cmake.yml | 88 +++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 .github/workflows/cmake.yml diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml new file mode 100644 index 000000000..d61c46e8c --- /dev/null +++ b/.github/workflows/cmake.yml @@ -0,0 +1,88 @@ +name: Tests + +on: + push: + pull_request: + release: + +jobs: + qt5: + name: Build with Qt 5 + runs-on: ubuntu-20.04 + steps: + + - uses: actions/checkout@v2 + + - uses: actions/checkout@v2 + with: + repository: happycube/ld-decode-testdata + path: testdata + + - name: Install dependencies + timeout-minutes: 10 + run: | + sudo apt-get update + # Based on: https://github.com/happycube/ld-decode/wiki/Installation + # Added: cmake libqt5opengl5-dev libqt5svg5-dev + sudo apt-get install -y --no-install-recommends git cmake make python3-distutils python3-numpy python3-scipy python3-matplotlib git qt5-default libqt5opengl5-dev libqt5svg5-dev libqwt-qt5-dev libfftw3-dev python3-numba libavformat-dev libavcodec-dev libavutil-dev ffmpeg + + - name: Set up build dir + timeout-minutes: 1 + run: mkdir obj && ln -s ../testdata obj/testdata + + - name: Configure + timeout-minutes: 5 + run: cd obj && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. + + - name: Build + timeout-minutes: 15 + run: make -C obj VERBOSE=1 + + - name: Install + timeout-minutes: 5 + run: make -C obj install DESTDIR=/tmp/staging && ls -lR /tmp/staging + + - name: Run tests + timeout-minutes: 10 + run: cd obj && ctest --output-on-failure + + qt6: + # XXX This builds without Qwt as Ubuntu 22.04 doesn't have it for Qt 6 + name: Build with Qt 6 + runs-on: ubuntu-22.04 + steps: + + - uses: actions/checkout@v2 + + - uses: actions/checkout@v2 + with: + repository: happycube/ld-decode-testdata + path: testdata + + - name: Install dependencies + timeout-minutes: 10 + run: | + sudo apt-get update + # Based on: https://github.com/happycube/ld-decode/wiki/Installation + # Added: cmake qt6-base-dev libgl-dev (needed by QtGui) + sudo apt-get install -y --no-install-recommends git cmake make python3-distutils python3-numpy python3-scipy python3-matplotlib qt6-base-dev libgl-dev libfftw3-dev python3-numba libavformat-dev libavcodec-dev libavutil-dev ffmpeg + + - name: Set up build dir + timeout-minutes: 1 + run: mkdir obj && ln -s ../testdata obj/testdata + + - name: Configure + timeout-minutes: 5 + run: cd obj && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_QWT=OFF .. + + - name: Build + timeout-minutes: 15 + run: make -C obj VERBOSE=1 + + - name: Install + timeout-minutes: 5 + run: make -C obj install DESTDIR=/tmp/staging && ls -lR /tmp/staging + + - name: Run tests + timeout-minutes: 10 + run: cd obj && ctest --output-on-failure