ITISFoundation / osparc-simcore

🐼 osparc-simcore simulation framework
https://osparc.io
MIT License
44 stars 26 forks source link

✨♻️ New `version_display` and `release_date` fields for service metadata #5902

Closed pcrespov closed 1 month ago

pcrespov commented 1 month ago

What do these changes do?

Next PR will review and update the entire logic from the registry to the webserver API.

Related issue/s

How to test

cd packages/service-integration
make install-dev
ooil compose -m tests/data/metadata.yml

should produce a docker-compose.yml

version: '3.7'
services:
  osparc-python-runner:
    build:
      context: ./
      dockerfile: Dockerfile
      labels:
        io.simcore.name: '{"name":"Sim4Life Python Runner"}'
        io.simcore.description: '{"description":"Python Runner with Sim4Life"}'
        io.simcore.key: '{"key":"simcore/services/dynamic/osparc-python-runner"}'
        io.simcore.version: '{"version":"1.1.0"}'
        io.simcore.version_display: '{"version_display":"Sim4Life Release V7.2"}'
        io.simcore.release_date: '{"release_date":"2024-05-30"}'
        io.simcore.integration-version: '{"integration-version":"1.0.0"}'
        io.simcore.type: '{"type":"computational"}'
        io.simcore.authors: '{"authors":[{"name":"Mr X","email":"sylvain@foo.com","affiliation":"Foo
          & co."},{"name":"Pedro Crespo","email":"pedro@foo.com","affiliation":"Foo
          & co."}]}'
        io.simcore.contact: '{"contact":"sylvain@foo.com"}'
        io.simcore.inputs: '{"inputs":{"input_1":{"displayOrder":1.0,"label":"Input
          data","description":"Any code, requirements or data file","type":"data:*/*"}}}'
        io.simcore.outputs: '{"outputs":{"output_1":{"displayOrder":1.0,"label":"Output
          data","description":"All data produced by the script is zipped as output_data.zip","type":"data:*/*","fileToKeyMap":{"output_data.zip":"output_1"}}}}'
        org.label-schema.build-date: '2024-05-31T09:37:19Z'
        org.label-schema.schema-version: '1.0'
        org.label-schema.vcs-ref: 69d667b3e596e7319dfbeb3153e9561cec7eebad
        org.label-schema.vcs-url: git@github.com:pcrespov/osparc-simcore.git
        simcore.service.paths-mapping: '{"inputs_path":"/config/workspace/inputs","outputs_path":"/config/workspace/outputs","state_paths":["/config"]}'
        simcore.service.settings: '[{"name":"resources","type":"Resources","value":{"mem_limit":17179869184,"cpu_limit":1000000000}},{"name":"ports","type":"int","value":8443},{"name":"constraints","type":"string","value":["node.platform.os
          == linux"]}]'
    image: simcore/services/dynamic/osparc-python-runner:1.1.0

Dev-ops checklist

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 71.42857% with 22 lines in your changes are missing coverage. Please review.

Project coverage is 88.1%. Comparing base (cafbf96) to head (b76e14a). Report is 241 commits behind head on master.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902/graphs/tree.svg?width=650&height=150&src=pr&token=h1rOE8q7ic&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation)](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation) ```diff @@ Coverage Diff @@ ## master #5902 +/- ## ========================================= + Coverage 84.5% 88.1% +3.5% ========================================= Files 10 1110 +1100 Lines 214 48266 +48052 Branches 25 563 +538 ========================================= + Hits 181 42556 +42375 - Misses 23 5587 +5564 - Partials 10 123 +113 ``` | [Flag](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation) | Coverage Δ | | |---|---|---| | [integrationtests](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation) | `64.8% <ø> (?)` | | | [unittests](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation) | `85.8% <71.4%> (+1.2%)` | :arrow_up: | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation) | Coverage Δ | | |---|---|---| | [...src/models\_library/api\_schemas\_catalog/services.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fmodels-library%2Fsrc%2Fmodels_library%2Fapi_schemas_catalog%2Fservices.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvbW9kZWxzLWxpYnJhcnkvc3JjL21vZGVsc19saWJyYXJ5L2FwaV9zY2hlbWFzX2NhdGFsb2cvc2VydmljZXMucHk=) | `100.0% <100.0%> (ø)` | | | [...ages/models-library/src/models\_library/services.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fmodels-library%2Fsrc%2Fmodels_library%2Fservices.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvbW9kZWxzLWxpYnJhcnkvc3JjL21vZGVsc19saWJyYXJ5L3NlcnZpY2VzLnB5) | `91.6% <100.0%> (ø)` | | | [...s/models-library/src/models\_library/services\_db.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fmodels-library%2Fsrc%2Fmodels_library%2Fservices_db.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvbW9kZWxzLWxpYnJhcnkvc3JjL21vZGVsc19saWJyYXJ5L3NlcnZpY2VzX2RiLnB5) | `100.0% <100.0%> (ø)` | | | [...e\_integration/\_compose\_spec\_model\_autogenerated.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2F_compose_spec_model_autogenerated.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9fY29tcG9zZV9zcGVjX21vZGVsX2F1dG9nZW5lcmF0ZWQucHk=) | `100.0% <100.0%> (ø)` | | | [...service-integration/src/service\_integration/cli.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2Fcli.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9jbGkucHk=) | `84.0% <100.0%> (ø)` | | | [...ation/src/service\_integration/commands/metadata.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2Fcommands%2Fmetadata.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9jb21tYW5kcy9tZXRhZGF0YS5weQ==) | `100.0% <100.0%> (ø)` | | | [...egration/src/service\_integration/oci\_image\_spec.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2Foci_image_spec.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9vY2lfaW1hZ2Vfc3BlYy5weQ==) | `93.2% <100.0%> (ø)` | | | [...tegration/src/service\_integration/osparc\_config.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2Fosparc_config.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9vc3BhcmNfY29uZmlnLnB5) | `91.8% <100.0%> (ø)` | | | [...tion/src/service\_integration/osparc\_image\_specs.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2Fosparc_image_specs.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9vc3BhcmNfaW1hZ2Vfc3BlY3MucHk=) | `94.1% <100.0%> (ø)` | | | [...ce-integration/src/service\_integration/settings.py](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree&filepath=packages%2Fservice-integration%2Fsrc%2Fservice_integration%2Fsettings.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation#diff-cGFja2FnZXMvc2VydmljZS1pbnRlZ3JhdGlvbi9zcmMvc2VydmljZV9pbnRlZ3JhdGlvbi9zZXR0aW5ncy5weQ==) | `100.0% <100.0%> (ø)` | | | ... and [10 more](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation) | | ... and [1095 files with indirect coverage changes](https://app.codecov.io/gh/ITISFoundation/osparc-simcore/pull/5902/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=ITISFoundation)
pcrespov commented 1 month ago

Nice thanks a lot!

I guess at some point it might be interesting to add also a field for the changelog, not necessary for the current tasks obviously.

And I assume different services can NOT have the same version but can potentially have the same version_display.

@elisabettai more metadata will be added. This is just an initial change to review and update the entire workflow (from creation, parsing, integration, apis, etc). Once is done we will be able to add more

sonarcloud[bot] commented 1 month ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.2% Duplication on New Code

See analysis details on SonarCloud