Skip to content

Getting things set up for EDR.

Hill, Clifford (Contractor) John requested to merge edr-branch into main

Multiple changes:

  1. nox -s integeration-test now will do:
    • Docker build
    • Docker run (in background)
    • Wait for the server to be up and running
    • Copy the openapi yaml file out from the container
    • Run the integration tests
    • Docker stop

As such, this is a much more elaborate command than previously used, and it dramatically simplifies what was needed inside the actual gitlab-ci file. It will do it for all of the server instances defined in the noxfile, unless specified (ie: nox -s "integration-test('nldi')" will only do the NLDI image and tests).

  1. EDR image now stubbed out. There are no plugins defined for it yet. The file used for setting it up is docker/plugins-edr.yml.

  2. conda/mamba is now fully integrated with the docker image. This allows for conda-specific modules to be added directly in the plugins.yml & plugins-edr.yml files. pygeoapi itself is installed from conda now, using the mamba tool, which simplified the required components to make pygeoapi work correctly inside the configuration file.

  3. gitlab-ci now runs ALL nox tests in parallel. It also runs ALL integration tests in parallel (for each server), as well as the pushing up to AWS. This is to mitigate the otherwise progressively longer process that will happen as new server images are created.

  4. Build now officially is bumped to Python 3.9 as a base. I can't go any higher because of limitations with rasterio, which is used by pygeoapi.

  5. CI file now relies on the gitlab container registry to store intermediate docker images, which makes it avoid rebuilding the image, and streamlines the NOX tests.

  6. Image builds and integration tests for the CI are driven entirely by implementation in nox.

Signed-off-by: Cliff Hill chill@contractor.usgs.gov

Edited by Hill, Clifford (Contractor) John

Merge request reports