Skip to content

Commit

Permalink
⬆️ 📝Maintenance/week 41 updates testing+tooling dependencies and CITA…
Browse files Browse the repository at this point in the history
…TIONS (#3442)
  • Loading branch information
pcrespov authored Oct 14, 2022
1 parent 576c686 commit 6cae77e
Show file tree
Hide file tree
Showing 52 changed files with 409 additions and 389 deletions.
6 changes: 6 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -45,12 +45,18 @@ authors:
affiliation: "IT'IS Foundation"
- given-names: Dustin
family-names: Kaiser
affiliation: "IT'IS Foundation"
orcid: "https://orcid.org/0000-0003-2251-1509"
- given-names: Alexandre
family-names: Allexandre
affiliation: "IT'IS Foundation"
- given-names: Colin
family-names: Rawlings
affiliation: "ZMT"
- given-names: Elisabetta
family-names: Iavarone
affiliation: "IT'IS Foundation"
orcid: "https://orcid.org/0000-0001-5157-247X"
- given-names: Tobias
family-names: Oetiker
affiliation: "OETIKER+PARTNER AG"
Expand Down
2 changes: 1 addition & 1 deletion api/tests/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ reqs: requirements.txt ## alias to compile requirements.txt
.PHONY: install
install: _check_venv_active requirements.txt ## installs dependencies
# installing requirements
pip3 install -r requirements.txt
pip-sync requirements.txt


.PHONY: test-dev
Expand Down
10 changes: 4 additions & 6 deletions api/tests/requirements.in
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
--constraint ../../requirements/constraints.txt

# testing

aiohttp
coverage
openapi-core<0.15 # Broken compatibility. This library in any case is marked as deprecated and will be removed!
pytest
pytest-cov
pytest-aiohttp
pytest-cov
pytest-instafail
pytest-sugar

# fixtures
aiohttp
openapi-core
12 changes: 6 additions & 6 deletions api/tests/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --output-file=requirements.txt requirements.in
#
aiohttp==3.8.1
aiohttp==3.8.3
# via
# -c ../../requirements/constraints.txt
# -r requirements.in
Expand All @@ -21,7 +21,7 @@ attrs==22.1.0
# pytest
charset-normalizer==2.1.1
# via aiohttp
coverage[toml]==6.4.4
coverage[toml]==6.5.0
# via
# -r requirements.in
# pytest-cov
Expand All @@ -31,13 +31,13 @@ frozenlist==1.3.1
# via
# aiohttp
# aiosignal
idna==3.3
idna==3.4
# via yarl
iniconfig==1.1.1
# via pytest
isodate==0.6.1
# via openapi-core
jsonschema==4.15.0
jsonschema==4.16.0
# via
# openapi-schema-validator
# openapi-spec-validator
Expand Down Expand Up @@ -85,7 +85,7 @@ pytest-aiohttp==1.0.4
# via -r requirements.in
pytest-asyncio==0.19.0
# via pytest-aiohttp
pytest-cov==3.0.0
pytest-cov==4.0.0
# via -r requirements.in
pytest-instafail==0.4.2
# via -r requirements.in
Expand All @@ -99,7 +99,7 @@ six==1.16.0
# via
# isodate
# openapi-core
termcolor==1.1.0
termcolor==2.0.1
# via pytest-sugar
tomli==2.0.1
# via
Expand Down
30 changes: 17 additions & 13 deletions docs/releasing-workflow-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The ``webserver`` service in *master* branch with commit ``752ef...`` will be bu
- ``itisfoundation/webserver:master-github-v2.0.1-2020-08-31--12-36.752ef50f3babb6537580c0e03b85b9a8209bbf10``
- ``itisfoundation/webserver:master-github-latest``

## Staging process
## Staging pre-release: master -> staging

A staging version of simcore is a *pre-released* version that is marked as such on the *master* branch by leveraging *Github* pre-release tagging mechanism. The CI is triggered and will pull the marked docker images (by using the given git SHA or latest *master* build), and tag them as staging images.
Therefore, each docker image are renamed as:
Expand Down Expand Up @@ -53,7 +53,7 @@ then after the review we do a couple of additions and re-release staging ``DAJIA
- ``itisfoundation/webserver:staging-github-stage_DAJIA2-2020-09-01--20-30.560eq50f3babb6537580c0e03b85b9a8209bbf10``
- ``itisfoundation/webserver:staging-github-latest``

### Instructions to generate a staging release
### Instructions to generate a staging pre-release

0. THIS IS VERY IMPORTANT:
- *Make sure the github-actions CI has successfully run on the latest commit on the master-branch! This is mandatory!*
Expand All @@ -69,9 +69,9 @@ then after the review we do a couple of additions and re-release staging ``DAJIA

2. Adjust the list of changes if needed
3. Press the **Publish release** button
4. The CI will be automatically triggered and will deploy the staging release
4. The CI will be automatically triggered and will deploy the staging pre-release

## Release process
## Release : staging -> production

A released version of simcore, that is marked as such on the *master* branch by leveraging *Github* release tagging mechanism. The CI is triggered and will pull the marked staging docker images (by using the given git SHA or the latest staging images), and tag them as release images.
**NOTE:** A release version is ALWAYS preceded by a staging version. The CI will fail if it does not find the corresponding staging version.
Expand Down Expand Up @@ -107,11 +107,11 @@ The team decides to release to production the lastest staging version of ``DAJIA

2. Adjust the list of changes if needed
3. Press the **Publish release** button
4. The CI will be automatically triggered and will deploy the staging release
4. The CI will be automatically triggered and will deploy the staging pre-release

See ![img/git-release-workflow.svg](img/git-release-workflow.svg)

## Hotfix process
## Hotfix release: hotfix branch -> production

A hotfix is **ALWAYS made from an already released version**. A branch, named after *hotfix_v.\**, is created from the tagged release version having an issue. The bugfix is implemented in that branch following usual best practices. On each commit pushed to github the CI is triggered (as in master for usual development) and will generate the following images in Dockerhub:

Expand Down Expand Up @@ -155,26 +155,30 @@ A bug was found in version 1.2.0 of the simcore stack. The team decides to fix i

2. Adjust the list of changes if needed
3. Press the **Publish release** button
4. The CI will be automatically triggered and will deploy the staging release
5. **Once the deploy was successfully done: create a PR from that branch to the master branch if it applies
4. The CI will be automatically triggered and will deploy the release
5. Once the deploy was successfully done: **create a PR from that branch to the master branch** if it applies
6. The branch can be safely deleted afterwards

See ![img/git-hotfix-workflow.svg](img/git-hotfix-workflow.svg)


## Hotfix pre-release: hotfix branch -> staging

A hotfix can also be pre-release to staging
### Instructions to generate a hotfix for staging

1. Generate *Github* release tag

```bash
git clone https://github.com/ITISFoundation/osparc-simcore.git
cd osparc-simcore
# let's checkout the release with the issue, typically a staging tag such as staging_Meerkat1
# let's checkout the release with the issue, typically a staging tag such as 'staging_Meerkat1'
git checkout VERSION_TAG_FOR_HOTFIXING
# create the hotfix branch, the name must follow the hotfix_staging_X convention, X is just a number
# create the hotfix branch, the name must follow this glob 'hotfix_staging_*'. E.g. 'hotfix_staging_1' or 'hotfix_staging_mysprint2' or just 'hotfix_staging_X`
git checkout -b hotfix_staging_X
# develop the fix here, git commit, git push, have someone review your code
git commit -m "this is my awsome fix for this problematic issue"
git commit -m "this is my hotfix for this problematic issue"
git push --set-upstream origin/hotfix_staging_X
# - NO NEED to pull request
Expand All @@ -185,6 +189,6 @@ See ![img/git-hotfix-workflow.svg](img/git-hotfix-workflow.svg)

2. Adjust the list of changes if needed
3. Press the **Publish release** button
4. The CI will be automatically triggered and will deploy the staging release
5. **Once the deploy was successfully done: create a PR from that branch to the master branch if it applies
4. The CI will be automatically triggered and will deploy the staging pre-release
5. Once the deploy was successfully done: **create a PR from that branch to the master branch** if it applies
6. The branch can be safely deleted afterwards
14 changes: 7 additions & 7 deletions packages/dask-task-models-library/requirements/_base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,32 @@ attrs==22.1.0
# via jsonschema
click==8.1.3
# via distributed
cloudpickle==2.1.0
cloudpickle==2.2.0
# via
# dask
# distributed
dask==2022.9.0
dask==2022.9.2
# via
# -r requirements/_base.in
# distributed
distributed==2022.9.0
distributed==2022.9.2
# via dask
dnspython==2.2.1
# via email-validator
email-validator==1.2.1
email-validator==1.3.0
# via pydantic
fsspec==2022.8.2
# via dask
heapdict==1.0.1
# via zict
idna==3.3
idna==3.4
# via email-validator
jinja2==3.1.2
# via
# -c requirements/../../../packages/models-library/requirements/../../../requirements/constraints.txt
# -c requirements/../../../requirements/constraints.txt
# distributed
jsonschema==4.15.0
jsonschema==4.16.0
# via -r requirements/../../../packages/models-library/requirements/_base.in
locket==1.0.0
# via
Expand Down Expand Up @@ -78,7 +78,7 @@ toolz==0.12.0
# partd
tornado==6.1
# via distributed
typing-extensions==4.3.0
typing-extensions==4.4.0
# via pydantic
urllib3==1.26.12
# via
Expand Down
24 changes: 12 additions & 12 deletions packages/dask-task-models-library/requirements/_test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
#
# pip-compile --output-file=requirements/_test.txt --strip-extras requirements/_test.in
#
aiohttp==3.8.1
aiohttp==3.8.3
# via
# -c requirements/../../../requirements/constraints.txt
# pytest-aiohttp
aiosignal==1.2.0
# via aiohttp
astroid==2.12.9
astroid==2.12.11
# via pylint
async-timeout==4.0.2
# via aiohttp
Expand All @@ -19,13 +19,13 @@ attrs==22.1.0
# -c requirements/_base.txt
# aiohttp
# pytest
certifi==2022.6.15
certifi==2022.9.24
# via requests
charset-normalizer==2.1.1
# via
# aiohttp
# requests
coverage==6.4.4
coverage==6.5.0
# via
# -r requirements/_test.in
# coveralls
Expand All @@ -36,15 +36,15 @@ dill==0.3.5.1
# via pylint
docopt==0.6.2
# via coveralls
faker==14.2.0
faker==15.1.0
# via -r requirements/_test.in
frozenlist==1.3.1
# via
# aiohttp
# aiosignal
icdiff==2.0.5
# via pytest-icdiff
idna==3.3
idna==3.4
# via
# -c requirements/_base.txt
# requests
Expand Down Expand Up @@ -76,7 +76,7 @@ pprintpp==0.4.0
# via pytest-icdiff
py==1.11.0
# via pytest
pylint==2.15.0
pylint==2.15.4
# via -r requirements/_test.in
pyparsing==3.0.9
# via
Expand All @@ -96,13 +96,13 @@ pytest-aiohttp==1.0.4
# via -r requirements/_test.in
pytest-asyncio==0.19.0
# via pytest-aiohttp
pytest-cov==3.0.0
pytest-cov==4.0.0
# via -r requirements/_test.in
pytest-icdiff==0.6
# via -r requirements/_test.in
pytest-instafail==0.4.2
# via -r requirements/_test.in
pytest-mock==3.8.2
pytest-mock==3.10.0
# via -r requirements/_test.in
pytest-runner==6.0.0
# via -r requirements/_test.in
Expand All @@ -119,16 +119,16 @@ requests==2.28.1
# via coveralls
six==1.16.0
# via python-dateutil
termcolor==1.1.0
termcolor==2.0.1
# via pytest-sugar
tomli==2.0.1
# via
# coverage
# pylint
# pytest
tomlkit==0.11.4
tomlkit==0.11.5
# via pylint
typing-extensions==4.3.0
typing-extensions==4.4.0
# via
# -c requirements/_base.txt
# astroid
Expand Down
10 changes: 5 additions & 5 deletions packages/dask-task-models-library/requirements/_tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# pip-compile --output-file=requirements/_tools.txt --strip-extras requirements/_tools.in
#
black==22.8.0
black==22.10.0
# via -r requirements/../../../requirements/devenv.txt
build==0.8.0
# via pip-tools
Expand All @@ -21,7 +21,7 @@ distlib==0.3.6
# via virtualenv
filelock==3.8.0
# via virtualenv
identify==2.5.5
identify==2.5.6
# via pre-commit
isort==5.10.1
# via
Expand All @@ -40,7 +40,7 @@ pathspec==0.10.1
# via black
pep517==0.13.0
# via build
pip-tools==6.8.0
pip-tools==6.9.0
# via -r requirements/../../../requirements/devenv.txt
platformdirs==2.5.2
# via
Expand Down Expand Up @@ -68,12 +68,12 @@ tomli==2.0.1
# black
# build
# pep517
typing-extensions==4.3.0
typing-extensions==4.4.0
# via
# -c requirements/_base.txt
# -c requirements/_test.txt
# black
virtualenv==20.16.4
virtualenv==20.16.5
# via pre-commit
wheel==0.37.1
# via pip-tools
Expand Down
8 changes: 4 additions & 4 deletions packages/models-library/requirements/_base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ attrs==22.1.0
# via jsonschema
dnspython==2.2.1
# via email-validator
email-validator==1.2.1
email-validator==1.3.0
# via pydantic
idna==3.3
idna==3.4
# via email-validator
jsonschema==4.15.0
jsonschema==4.16.0
# via -r requirements/_base.in
pydantic==1.10.2
# via
# -c requirements/../../../requirements/constraints.txt
# -r requirements/_base.in
pyrsistent==0.18.1
# via jsonschema
typing-extensions==4.3.0
typing-extensions==4.4.0
# via pydantic
Loading

0 comments on commit 6cae77e

Please sign in to comment.