name: ci on: push: branches: - calamares pull_request: types: - opened - reopened - synchronize workflow_dispatch: env: BUILDDIR: /build SRCDIR: ${{ github.workspace }} DESTDIR: /INSTALL_ROOT CMAKE_ARGS: | -DCMAKE_BUILD_TYPE=Release -DWEBVIEW_FORCE_WEBKIT=1 -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DWITH_PYTHONQT=OFF" -DCMAKE_BUILD_TYPE=Debug jobs: build: runs-on: ubuntu-latest container: image: docker://kdeneon/plasma:user options: --tmpfs /build:rw,size=512M --user 0:0 steps: - name: prepare env: COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} run: | sudo apt-get update sudo apt-get -y install git-core if [ -n "$COVERITY_SCAN_TOKEN" ]; then curl -k -o coverity_tool.tar.gz \ -d "token=$COVERITY_SCAN_TOKEN&project=calamares%2Fcalamares" \ https://scan.coverity.com/download/cxx/linux64 mkdir "$BUILDDIR/coveritytool" tar xvf coverity_tool.tar.gz -C "$BUILDDIR/coveritytool" --strip-components 2 fi - name: checkout uses: actions/checkout@v2 - name: install dependencies run: | sudo apt-get -y install \ build-essential \ cmake \ extra-cmake-modules \ gettext \ kio-dev \ libatasmart-dev \ libboost-python-dev \ libkf5config-dev \ libkf5coreaddons-dev \ libkf5i18n-dev \ libkf5iconthemes-dev \ libkf5parts-dev \ libkf5service-dev \ libkf5solid-dev \ libkpmcore-dev \ libparted-dev \ libpolkit-qt5-1-dev \ libqt5svg5-dev \ libqt5webkit5-dev \ libyaml-cpp-dev \ os-prober \ pkg-config \ python3-dev \ qtbase5-dev \ qtdeclarative5-dev \ qttools5-dev \ qttools5-dev-tools - name: check environment run: | test -f $SRCDIR/CMakeLists.txt || { echo "! Missing $SRCDIR/CMakeLists.txt" ; exit 1 ; } test -n "$BUILDDIR" || { echo "! \$BUILDDIR not set" ; exit 1 ; } test -n "$SRCDIR" || { echo "! \$SRCDIR not set" ; exit 1 ; } mkdir -p $BUILDDIR $SRCDIR $DESTDIR - name: cmake run: cmake $CMAKE_ARGS $SRCDIR - name: generate coverage report env: COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} run: | if [ -n "$COVERITY_SCAN_TOKEN" ]; then $BUILDDIR/coveritytool/bin/cov-build --dir cov-int make -j2 tar caf calamares-ci.tar.xz cov-int curl -k --form token=$COVERITY_SCAN_TOKEN \ --form email=groot@kde.org \ --form file=@calamares-ci.tar.xz \ --form version="calamares-`date -u +%Y%m%d`" \ --form description="calamares on `date -u`" \ https://scan.coverity.com/builds?project=calamares%2Fcalamares fi - name: make run: make -j2 VERBOSE=1 - name: build results run: ls -la $( find "$BUILDDIR" -type f -name '*.so' ) - name: install id: install run: make install VERBOSE=1 - name: debug install if: ${{ failure() && steps.install.outcome == 'failure' }} run: ls -la $( find "$DESTDIR" -type f -name '*.so' )