diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index b603bdc3f8..ba2ee8878f 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -82,8 +82,8 @@ jobs: - run: make build-config # Build and lint QGIS images - - run: QGIS_VERSION=3.28 make build-qgisserver - - run: QGIS_VERSION=3.28 make prospector-qgisserver + - run: QGIS_VERSION=3.28-gdal3.6 make build-qgisserver + - run: QGIS_VERSION=3.28-gdal3.6 make prospector-qgisserver # Tests - run: make preparetest diff --git a/.github/workflows/qgis.yaml b/.github/workflows/qgis.yaml index 98ab2aba61..2c695be630 100644 --- a/.github/workflows/qgis.yaml +++ b/.github/workflows/qgis.yaml @@ -12,26 +12,52 @@ on: env: HAS_SECRETS: ${{ secrets.HAS_SECRETS }} DOCKER_BUILDKIT: 1 + MAIN_BRANCH: '2.8' + MAJOR_VERSION: '2.8' jobs: - main: + common: runs-on: ubuntu-22.04 name: QGIS build - timeout-minutes: 40 + timeout-minutes: 20 if: "!startsWith(github.event.head_commit.message, '[skip ci] ')" + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - run: make build-runner + + - run: docker save --output=/tmp/tools.docker camptocamp/geomapfish + + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: tools.docker + path: /tmp/tools.docker + + main: + runs-on: ubuntu-22.04 + name: QGIS build + timeout-minutes: 10 + needs: common + strategy: fail-fast: false matrix: version: # Last LTR - '3.28' + - 3.28-gdal3.6 - latest - master - - env: - MAIN_BRANCH: '2.8' - MAJOR_VERSION: '2.8' + # Will be soon: + # - 3.28-gdal3.7 + # - ltr + # - lr + # - latest + # - master steps: - uses: actions/checkout@v3 @@ -51,7 +77,13 @@ jobs: id: version if: env.HAS_SECRETS == 'HAS_SECRETS' - - run: make build-runner + - name: Download artifacts (Docker images) from previous workflows + uses: actions/download-artifact@v2 + + - name: Load Docker images from previous workflows + run: | + docker load --input=tools.docker/tools.docker + - run: make build-test-db - name: Build QGIS server diff --git a/ci/create-new-project b/ci/create-new-project index 616c9644df..bfad766198 100755 --- a/ci/create-new-project +++ b/ci/create-new-project @@ -11,9 +11,9 @@ docker tag "camptocamp/geomapfish:${TAG}" "camptocamp/geomapfish:$(scripts/get-v docker tag "camptocamp/geomapfish-tools:${TAG}" "camptocamp/geomapfish-tools:$(scripts/get-version --full)" docker tag "camptocamp/geomapfish-config:${TAG}" "camptocamp/geomapfish-config:$(scripts/get-version --major-minor)" -DOCKER_BUILDKIT=1 docker build --target=runner --build-arg=VERSION=3.28 \ +DOCKER_BUILDKIT=1 docker build --target=runner --build-arg=VERSION=3.28-gdal3.6 \ --build-arg="GEOMAPFISH_VERSION=${TAG}" \ - --tag="camptocamp/geomapfish-qgisserver:gmf${TAG}-qgis3.28" \ + --tag="camptocamp/geomapfish-qgisserver:gmf${TAG}-qgis3.28-gdal3.6" \ docker/qgisserver WORKSPACE=$1 diff --git a/docker/qgisserver/Dockerfile b/docker/qgisserver/Dockerfile index 630cac384e..0cb0801cde 100644 --- a/docker/qgisserver/Dockerfile +++ b/docker/qgisserver/Dockerfile @@ -71,7 +71,7 @@ RUN --mount=type=bind,from=poetry,source=/tmp,target=/poetry \ pip install --disable-pip-version-check --no-deps --requirement=/poetry/requirements-dev.txt # hadolint ignore=DL3022 -COPY --from=camptocamp/geomapfish-tools /opt/c2cgeoportal/commons/c2cgeoportal_commons/testing \ +COPY --from=camptocamp/geomapfish /opt/c2cgeoportal/commons/c2cgeoportal_commons/testing \ /opt/c2cgeoportal/commons/c2cgeoportal_commons/testing ENV PYTHONPATH /var/www/plugins:/usr/local/share/qgis/python/:/opt diff --git a/docker/test-mapserver/Dockerfile b/docker/test-mapserver/Dockerfile index bcfb2d7d95..e678a09e6f 100644 --- a/docker/test-mapserver/Dockerfile +++ b/docker/test-mapserver/Dockerfile @@ -1,4 +1,4 @@ -FROM camptocamp/mapserver:8.0 +FROM camptocamp/mapserver:8.0-gdal3.6 LABEL maintainer Camptocamp "info@camptocamp.com" RUN --mount=type=cache,target=/var/lib/apt/lists \ diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml b/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml index 64e1cf9b80..184640bc4a 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/docker-compose-lib.yaml @@ -77,7 +77,7 @@ services: - PGOPTIONS mapserver: - image: camptocamp/mapserver:8.0 + image: camptocamp/mapserver:8.0-gdal3.6 user: www-data restart: unless-stopped entrypoint: [] diff --git a/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default b/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default index 3da893d4b1..71269debe4 100644 --- a/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default +++ b/geoportal/c2cgeoportal_geoportal/scaffolds/create/{{cookiecutter.project}}/env.default @@ -46,7 +46,7 @@ TILECLOUDCHAIN_INTERNAL_PORT=8080 MAPSERVER_URL=http://mapserver:8080/ TINYOWS_URL=http://tinyows:8080/ QGISSERVER_URL=http://qgisserver:8080/mapserv_proxy -QGIS_VERSION=3.28 +QGIS_VERSION=3.28-gdal3.6 POSTGRES_TAG=13-postgis-3 DEVSERVER_HOST=webpack_dev_server:8080