2021-03-22 13:15:43 +10:00
name : 🗺 OGC tests for QGIS Server
on :
push :
branches :
- master
- release-**
2021-04-28 08:56:17 +10:00
- queued_ltr_backports
2021-03-22 13:15:43 +10:00
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
2021-06-24 13:51:49 +02:00
- 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/<branch_name>, and for tags it is refs/tags/<tag_name>
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' }}
2021-03-22 13:15:43 +10:00
- name : Run build
run : |
2021-06-24 13:51:49 +02:00
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 }}
2021-03-22 13:15:43 +10:00
- name : Install pyogctest
run : |
sudo apt-get install python3-virtualenv virtualenv git
git clone https://github.com/pblottiere/pyogctest
2021-05-19 21:07:26 +02:00
cd pyogctest && git checkout 1.0.4 && cd -
2021-03-22 13:15:43 +10:00
virtualenv -p /usr/bin/python3 venv && source venv/bin/activate && pip install -e pyogctest/
2021-04-17 21:23:21 +02:00
- name : Extract WMS 1.3.0 dataset
2021-03-22 13:15:43 +10:00
run : |
2021-04-17 21:23:21 +02:00
source venv/bin/activate && ./pyogctest/pyogctest.py -s wms130 -e
2021-03-22 13:15:43 +10:00
- 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