name: 🗺 OGC tests for QGIS Server on: push: branches: - master - release-** - queued_ltr_backports paths: - 'src/core/**' - 'src/auth/**' - 'src/providers/**' - 'src/server/**' - 'src/CMakeLists.txt' - 'external/**' - 'CMakeLists.txt' - '.github/workflows/ogc.yml' pull_request: branches: - master - release-** paths: - 'src/core/**' - 'src/auth/**' - 'src/providers/**' - 'src/server/**' - 'src/CMakeLists.txt' - 'external/**' - 'CMakeLists.txt' - '.github/workflows/ogc.yml' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - name: Prepare build cache for pull request uses: pat-s/always-upload-cache@v2.1.5 if: github.event_name == 'pull_request' with: path: /home/runner/QGIS/.ccache key: build-ccache-ogc-${{ github.actor }}-${{ github.head_ref }}-${{ github.sha }} # The head_ref or source branch of the pull request in a workflow run. # The base_ref or target branch of the pull request in a workflow run. restore-keys: | build-ccache-ogc-${{ github.actor }}-${{ github.head_ref }}- build-ccache-ogc-refs/heads/${{ github.base_ref }}- build-ccache-ogc-refs/heads/master- - name: Prepare build cache for branch/tag # use a fork of actions/cache@v2 to upload cache even when the build or test failed uses: pat-s/always-upload-cache@v2.1.5 if: github.event_name != 'pull_request' with: path: /home/runner/QGIS/.ccache # The branch or tag ref that triggered the workflow run. For branches this in the format refs/heads/, and for tags it is refs/tags/ key: build-ccache-ogc-${{ github.ref }}-${{ github.sha }} restore-keys: | build-ccache-ogc-${{ github.ref }}- build-ccache-ogc-refs/heads/master- - name: Build Docker Container with Build Environment id: docker-build uses: whoan/docker-build-with-cache-action@v5 with: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} registry: docker.pkg.github.com image_name: qgis-deps-ogc context: .ci/ogc dockerfile: Dockerfile push_git_tag: true push_image_and_stages: on:push pull_image_and_stages: ${{ github.event_name != 'workflow_dispatch' }} - name: Run build run: | docker run -v $(pwd):/usr/src/qgis -v /home/runner/QGIS/.ccache:/root/.ccache ${DOCKER_IMAGE} /usr/src/qgis/.ci/ogc/build.sh env: DOCKER_IMAGE: ${{ steps.docker-build.outputs.FULL_IMAGE_NAME }} - name: Install pyogctest run: | sudo apt-get install python3-virtualenv virtualenv git git clone https://github.com/pblottiere/pyogctest cd pyogctest && git checkout 1.0.4 && cd - virtualenv -p /usr/bin/python3 venv && source venv/bin/activate && pip install -e pyogctest/ - name: Extract WMS 1.3.0 dataset run: | source venv/bin/activate && ./pyogctest/pyogctest.py -s wms130 -e - name: Run WMS 1.3.0 OGC tests run: | docker-compose -f .ci/ogc/docker-compose.yml up -d source venv/bin/activate && ./pyogctest/pyogctest.py -n ogc_qgis -s wms130 -v -u http://$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' qgis_server_nginx)/qgisserver