name: Code Layout on: [push, pull_request] jobs: documentation_checks: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v1 with: python-version: 3.7 - name: Install Requirements run: | sudo apt install -y \ doxygen \ cpanminus \ libyaml-tiny-perl \ libio-socket-ssl-perl \ libhttp-date-perl \ libgetopt-long-descriptive-perl \ libmoo-perl \ libnamespace-clean-perl \ libpath-tiny-perl \ libpod-constants-perl \ libscalar-list-utils-perl \ libsort-key-perl \ libstrictures-perl \ libstring-escape-perl \ libtry-tiny-perl \ expect cpanm --notest App::Licensecheck python -m pip install --upgrade pip pip install autopep8 nose2 mock termcolor - name: Make run: | mkdir build cd build cmake -DWITH_SERVER=ON -DUSE_CCACHE=OFF -DWITH_CORE=OFF -DWITH_APIDOC=ON -DWITH_ASTYLE=ON -DENABLE_TESTS=ON -DWITH_DOT=NO .. make -j3 - name: Run Tests run: cd build && ctest -V -R PyQgsDocCoverage license_check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Install Requirements run: | sudo apt install -y \ cpanminus cpanm --notest App::Licensecheck - name: Run License Check run: ./tests/code_layout/test_licenses.sh shell_check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Install Requirements run: | sudo apt install -y \ shellcheck - name: Run Shellcheck run: ./tests/code_layout/test_shellcheck.sh banned_keywords_check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Run Banned Keywords Test run: ./tests/code_layout/test_banned_keywords.sh def_window_title_check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Def Window Title Test run: ./tests/code_layout/test_defwindowtitle.sh doxygen_layout_check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Install Requirements run: | sudo apt install -y \ expect - name: Doxygen Layout Test run: ./tests/code_layout/test_doxygen_layout.sh indentation_check: if: github.event_name == 'pull_request' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 100 - name: Install Requirements run: | sudo apt install -y \ astyle \ python-autopep8 \ flip - name: Indentation Test run: ./scripts/verify_indentation.sh HEAD~1 spell_check: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Indentation Test run: ./scripts/spell_check/spell_test.sh sip_check: runs-on: ubuntu-latest steps: - name: Set up Python 3.7 uses: actions/setup-python@v1 with: python-version: 3.7 - name: Install Requirements run: | sudo apt install -y \ cpanminus \ libyaml-tiny-perl \ libio-socket-ssl-perl \ libhttp-date-perl \ libgetopt-long-descriptive-perl \ libmoo-perl \ libnamespace-clean-perl \ libpath-tiny-perl \ libpod-constants-perl \ libscalar-list-utils-perl \ libsort-key-perl \ libstrictures-perl \ libstring-escape-perl \ libtry-tiny-perl \ expect python -m pip install --upgrade pip pip install autopep8 nose2 mock termcolor - name: Checkout uses: actions/checkout@v2 - name: Sip Checks run: ./tests/code_layout/test_sipify.sh - name: Sip Include Test run: ./tests/code_layout/test_sip_include.sh - name: Sip Files Up To Date run: ./tests/code_layout/test_sipfiles_uptodate.sh