diff --git a/.github/workflows/make-test.yml b/.github/workflows/make-test.yml index e4e797d1c5d..f3c322ae2c3 100644 --- a/.github/workflows/make-test.yml +++ b/.github/workflows/make-test.yml @@ -6,6 +6,7 @@ on: pull_request: branches: - master + - gha/ccache jobs: check-formatting: name: Check C++ Formatting @@ -36,77 +37,34 @@ jobs: name: Ubuntu 20.04 needs: check-formatting runs-on: ubuntu-20.04 - container: - image: 'gnuradio/ci-ubuntu-20.04-3.9:0.3' - volumes: - - build_data:/build - options: --cpus 2 - steps: - - uses: actions/checkout@v2 - name: Checkout Project - - name: CMake - env: - CXXFLAGS: -Werror - run: 'cd /build && cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF' - - name: Make - run: 'cd /build && make -j2 -k' - - name: Make Test - run: 'cd /build && ctest --output-on-failure -E "qa_agc|qa_cpp_py_binding|qa_cpp_py_binding_set|qa_ctrlport_probes|qa_qtgui"' - fedora33: - name: Fedora 33 - needs: check-formatting - runs-on: ubuntu-20.04 # This can run on whatever - container: - image: 'gnuradio/ci-fedora-33-3.9:1.0' - volumes: - - build_data:/build - options: --cpus 2 - steps: - - uses: actions/checkout@v2 - name: Checkout Project - - name: CMake - run: 'cd /build && cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF' - - name: Make - run: 'cd /build && make -j2' - - name: Make Test - run: 'cd /build && ctest --output-on-failure -E "qa_agc|qa_cpp_py_binding|qa_cpp_py_binding_set|qa_ctrlport_probes|qa_qtgui"' - centos8_3: - name: Centos 8.3 - needs: check-formatting - runs-on: ubuntu-20.04 # This can run on whatever - container: - image: 'gnuradio/ci-centos-8.3-3.9:1.0' - volumes: - - build_data:/build - options: --cpus 2 - steps: - - uses: actions/checkout@v2 - name: Checkout Project - - name: CMake - env: + env: + CCACHE_DIR: /ccache CXXFLAGS: -Werror - run: 'cd /build && cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF -DBoost_unit_test_framework_FOUND=ON' - - name: Make - run: 'cd /build && make -j2 -k' - - name: Make Test - run: 'cd /build && ctest --output-on-failure -E "qa_agc|qa_cpp_py_binding|qa_cpp_py_binding_set|qa_ctrlport_probes|qa_qtgui"' - debian10: - name: Debian 10 - needs: check-formatting - runs-on: ubuntu-20.04 # This can run on whatever container: - image: 'gnuradio/ci-debian-10-3.9:1.0' + image: 'gnuradio/ci-ubuntu-20.04-3.9:0.3' volumes: - build_data:/build + - ccache:/ccache options: --cpus 2 steps: + - name: Restore ccache + uses: pat-s/always-upload-cache@v2.1.3 + with: + path: ccache + key: ccache-ubuntu20-gcc-${{ github.sha }} + restore-keys: ccache-ubuntu20-gcc - uses: actions/checkout@v2 name: Checkout Project + - name: Check ccache stats (a-priori) + run: ccache --show-stats - name: CMake - env: - CXXFLAGS: -Werror - run: 'cd /build && cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF -DBoost_unit_test_framework_FOUND=ON' + run: | + export PATH=/usr/lib/ccache:$PATH + cd /build + cmake ${GITHUB_WORKSPACE} -DENABLE_DOXYGEN=OFF - name: Make run: 'cd /build && make -j2 -k' - name: Make Test run: 'cd /build && ctest --output-on-failure -E "qa_agc|qa_cpp_py_binding|qa_cpp_py_binding_set|qa_ctrlport_probes|qa_qtgui"' + - name: Check ccache stats (a-posteriori) + run: ccache --show-stats