Update test_plugin.yml #161
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test plugin | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - dev | |
| paths: | |
| - "geovita_processing_plugin/**" | |
| - ".github/workflows/test_plugin.yml" | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| paths: | |
| - "geovita_processing_plugin/**" | |
| - ".github/workflows/test_plugin.yml" | |
| workflow_dispatch: | |
| env: | |
| # plugin name/directory where the code for the plugin is stored | |
| PLUGIN_NAME: geovita_processing_plugin | |
| # TESTS_RUN_FUNCTION er ikke lenger nødvendig med pytest | |
| # Docker settings | |
| DOCKER_IMAGE: qgis/qgis | |
| jobs: | |
| Test-geovita_processing_plugin: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| docker_tags: [release-3_36, 3.40.11, 3.44.4] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Docker pull and create qgis-testing-environment | |
| run: | | |
| docker pull "$DOCKER_IMAGE":${{ matrix.docker_tags }} | |
| docker run -d -e XDG_RUNTIME_DIR=/tmp/runtime-root --name qgis-testing-environment -v ${{ github.workspace }}:/tests_directory -e DISPLAY=:99 "$DOCKER_IMAGE":${{ matrix.docker_tags }} tail -f /dev/null | |
| - name: Docker set up QGIS | |
| run: | | |
| docker exec qgis-testing-environment sh -c "mkdir -p /root/.local/share/QGIS/QGIS3/profiles/default/python/plugins/" | |
| docker exec qgis-testing-environment sh -c "rm -f /root/.local/share/QGIS/QGIS3/profiles/default/python/plugins/$PLUGIN_NAME" | |
| docker exec qgis-testing-environment sh -c "ln -s /tests_directory/$PLUGIN_NAME /root/.local/share/QGIS/QGIS3/profiles/default/python/plugins/$PLUGIN_NAME" | |
| docker exec qgis-testing-environment sh -c "pip3 install --break-system-packages -r /tests_directory/REQUIREMENTS_TESTING.txt" | |
| docker exec qgis-testing-environment sh -c "ls -l /root/.local/share/QGIS/QGIS3/profiles/default/python/plugins/" | |
| docker exec qgis-testing-environment sh -c "ls -l /root/.local/share/QGIS/QGIS3/profiles/default/python/plugins/$PLUGIN_NAME" | |
| - name: Prepare REMEDY_GIS_RiskTool submodule | |
| run: | | |
| docker exec qgis-testing-environment sh -c "touch /tests_directory/$PLUGIN_NAME/REMEDY_GIS_RiskTool/__init__.py" | |
| docker exec qgis-testing-environment ls -la /tests_directory/$PLUGIN_NAME/REMEDY_GIS_RiskTool | |
| - name: Docker run plugin tests | |
| run: | | |
| # ENDRING HER: Kjører pytest direkte. | |
| # Vi bytter katalog til /tests_directory først, slik at pytest finner testfilene. | |
| docker exec qgis-testing-environment sh -c "cd /tests_directory && xvfb-run pytest" | |
| Check-code-quality: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.9' | |
| architecture: 'x64' | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install packages | |
| run: | | |
| pip install -r REQUIREMENTS_TESTING.txt | |
| pip install pylint pycodestyle | |
| - name: Pylint | |
| run: make pylint | |
| - name: Pycodestyle | |
| run: make pycodestyle |