Skip to content
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
b1897ff
resolve various requirements breaking builtin python packages (ref ht…
fmigneault Jan 27, 2021
0a1f651
tmp patch to handle erroneous python2 deps
fmigneault Jan 27, 2021
f28145a
Merge remote-tracking branch 'origin/master' into resolve-requirements
fmigneault Jan 27, 2021
174000a
pre-install docker cli in worker image
fmigneault Jan 28, 2021
b7bc3c5
pre-install docker cli in worker image
fmigneault Jan 28, 2021
2c0dc95
install docker-cli in worker + add example docker-compose
fmigneault Jan 29, 2021
cf397bf
partially address issues #21 and #126 - celery worker running the job…
fmigneault Feb 2, 2021
b3ef536
fix test docker app
fmigneault Feb 2, 2021
b83426e
more adjustments for worker jobs dispatch + refactor shared function …
fmigneault Feb 9, 2021
b135d4f
fix db get fork connection + redirect wps-xml/kvp to wps-rest job
fmigneault Feb 9, 2021
c68a6d4
add tests for differnt WPS-1,2,REST & XML/JSON execute of demo docker…
fmigneault Feb 10, 2021
f968d4d
typing and abstract class interface improvements
fmigneault Feb 11, 2021
681487a
update data-source & docker-compose configs details
fmigneault Feb 11, 2021
fbd4177
more test fixes
fmigneault Feb 11, 2021
8077379
linter fixes
fmigneault Feb 11, 2021
264b553
fix lint imports
fmigneault Feb 11, 2021
03ce880
more import linting fixes
fmigneault Feb 11, 2021
2309588
add default debug logger for test app
fmigneault Feb 11, 2021
2b1794a
fix makefile run coverage
fmigneault Feb 11, 2021
4ea5197
fix test submit job retrieve on forbidden process
fmigneault Feb 11, 2021
7dac40e
more fixes + WPS-1/2 OpenAPI schemas (draft)
fmigneault Feb 12, 2021
d352f32
patch error message field
fmigneault Feb 12, 2021
c01c7be
update data-sources example with dummy value and add more details to it
fmigneault Feb 12, 2021
20bb992
add explicit python 2 / 3.5 drop in changelog
fmigneault Feb 12, 2021
3b23fb8
fix test http except code
fmigneault Feb 15, 2021
32c796f
fix tests with expected HTTP code / body content (relates to #215)
fmigneault Feb 16, 2021
735d2ac
fix all test suites + improve debug logging for tests
fmigneault Feb 16, 2021
de53e46
fix linting + add fixme-list target to review code fixmes/todos
fmigneault Feb 17, 2021
f40d5ef
patch lint
fmigneault Feb 17, 2021
351941b
remove invalid docs autoapi generated files
fmigneault Feb 20, 2021
5664ac0
fix docker build & smoke test
fmigneault Feb 20, 2021
86e5f3d
fix link
fmigneault Feb 20, 2021
a830ccb
more lint
fmigneault Feb 20, 2021
a6f9874
fix extra tests travis-ci rule
fmigneault Feb 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,8 @@ workflows
**/*.zip

# Project local configurations
config/weaver.ini
config/wps_processes.yml
config/data_sources.json
!config/*.example
config/*

# Old project sources
[Bb]in
98 changes: 98 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# run test suites

name: Tests
on:
- pull_request
- push

jobs:
# see: https://github.com/fkirc/skip-duplicate-actions
skip_duplicate:
continue-on-error: true
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
concurrent_skipping: "same_content"
skip_after_successful_duplicate: "true"
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'

# see: https://github.com/actions/setup-python
tests:
needs: skip_duplicate
if: ${{ needs.skip_duplicate.outputs.should_skip != 'true' }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.allow-failure }}
env:
# override make command to install directly in active python
CONDA_COMMAND: ""
services:
# Label used to access the service container
mongodb:
image: mongo:3.4.23 # DockerHub
ports:
- "27017:27017"
strategy:
matrix:
os: [ubuntu-latest]
python-version: ["3.6", "3.7", "3.8"]
allow-failure: [false]
test-case: [test-unit, test-func]
include:
# linter tests
- os: ubuntu-latest
python-version: 3.7
allow-failure: false
test-case: check
# documentation build
- os: ubuntu-latest
python-version: 3.7
allow-failure: false
test-case: docs
# coverage test
- os: ubuntu-latest
python-version: 3.7
allow-failure: false
test-case: coverage
# smoke test of Docker image
- os: ubuntu-latest
python-version: 3.7 # doesn't matter which one (in docker), but match default of repo
allow-failure: false
test-case: test-docker
# EMS end-2-end Workflow tests
- os: ubuntu-latest
python-version: 3.7
allow-failure: true
test-case: test-workflow
steps:
- uses: actions/checkout@v2
with:
fetch-depth: "0"
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: make install-pkg install-dev version
- name: Display Packages
run: pip freeze
#- name: Setup Environment Variables
# uses: c-py/action-dotenv-to-setenv@v2
# with:
# env-file: ./ci/weaver.env
- name: Display Environment Variables
run: |
hash -r
env | sort
- name: Run Tests
run: make stop ${{ matrix.test-case }}
- name: Upload coverage report
uses: codecov/codecov-action@v1
if: ${{ success() && matrix.test-case == 'coverage' }}
with:
files: ./reports/coverage.xml
fail_ci_if_error: true
verbose: true
5 changes: 0 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,5 @@ venv
*.zip
./workflow[s]

# project local configurations
config/weaver.ini
config/wps_processes.yml
config/data_sources.json

# old project sources
[Bb]in
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ python:
- "3.7" # default test python
- "2.7"
- "3.6"
- "3.8"
- "3.8.3" # enforce minor as it default to 3.8.7 which conda cannot find
env:
global:
- secure: j7fuAPDXdl0SF1My1f0e3hr8mq4idP41jsz98Y1hN30GGOmIputScxIwSjIBi8zFCJ+K4RleMIoWLhnFsMeMD4DapRqDe5YnJJFOyfiyplzEcn4yONYRJf1nzfXBrpoGSEibgr/e3uYK62bkantI+b0pBPNAKbRjbRKKwTKEAxWb1pfaAMEQMB8/Wmvo0XYAZRB96H4q/7Dtd4CaIqh99Fs/9TjaGdNNtDtjwL0AWPXNfamsA8oNW0frNp1lEYpJpRE+PHFiKWZWyrRqjDA/UNU2UE/2H1O53I6tUXGJjORrUGRp1M9Xq/NhC8C4l7KrdpYH7YkYdvRDts3+XmJZ5kCsGB35YLP8DF1yUXIL4ZMskegBsBKqKKgnXGo4uYkaHp0QR2r8v2tdO8q3JWGYLSCgGVu5YkHU6Nlqf98W5LQLYSuZEkLplrk9vISHNS6TI4G3m7huToY1HwOu01hTZHAEhr/ouUxOfu6pQs8ZYVCyj98o65KFlFCRa7qKHc2/lXVbFPaOeQmFYqCGfFMTB0G0DHlsyOJk3QzoTr0HxJlbEwh9XLJOAnGO/TwcOUZndlj0+lTuCTpeBhjHywr+b00HnYtJ3cVnUVjT8TZydG2ATogeKRvOe0m58ug36EUGwbjr0JoN2hHjeFNSdvTUzFFFmRBY9rps47rzEDyRBGc=
Expand Down
23 changes: 22 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,31 @@ Changes
Changes:
--------
- Add support of YAML format for loading ``weaver.data_sources`` definition.
- Pre-install ``Docker`` CLI in ``worker`` image to avoid bad practice of mounting it from the host.
- Adjust WPS request dispatching such that process jobs get executed by ``Celery`` worker as intended
(see `#21 <https://github.com/crim-ca/weaver/issues/21>`_ and `#126 <https://github.com/crim-ca/weaver/issues/126>`_).
- Move WPS XML endpoint functions under separate ``weaver.wps.utils`` and ``weaver.wps.views`` to remove the need to
constantly handle circular imports issues due to processing related operations that share some code.
- Move core processing of job operation by ``Celery`` worker under ``weaver.processes.execution`` in order to separate
those components from functions specific for producing WPS-REST API responses.
- Handle WPS-1/2 requests submitted by GET KVP or POST XML request with ``application/json`` in ``Accept`` header to
return the same body content as if directly calling their corresponding WPS-REST endpoints.
- Remove every Python 2 backward compatibility references and operations.
- Remove ``request`` parameter of every database store methods since they were not used nor provided most of the time.
- Changed all forbidden access responses related to visibility status to return ``403`` instead of ``401``.
- Add more tests for Docker applications and test suite execution with Github Actions.
- Add more details in sample configurations and provide an example ``docker-compose.yml`` configuration that defines a
*typical* `Weaver` API / Worker combination with ``docker-proxy`` for sibling container execution.
- Document the `WPS` KVP/XML endpoint within the generated OpenAPI specification.

Fixes:
------
- No change.
- Target ``PyWPS-4.4`` to resolve multiple invalid dependency requirements breaking installed packages over builtin
Python packages and other compatibility fixes
(see `geopython/pywps #568 <https://github.com/geopython/pywps/issues/568>`_).
- Fix retrieval of database connexion to avoid warning of ``MongoClient`` opened before fork of processes.
- Fix indirect dependency ``oauthlib`` missing from ``esgf-compute-api`` (``cwt``) package.
- Fix many typing definitions.

`1.14.0 <https://github.com/crim-ca/weaver/tree/1.14.0>`_ (2021-01-11)
========================================================================
Expand Down
Loading