xcube-dev / xcube

xcube is a Python package for generating and exploiting data cubes powered by xarray, dask, and zarr.
https://xcube.readthedocs.io/
MIT License
201 stars 20 forks source link

new workflow to build and push docker image #907

Closed TejasMorbagal closed 1 year ago

TejasMorbagal commented 1 year ago

[Description of PR]

This PR introduces a new workflow which builds and pushes a new xcube docker image. This is a workaround for the timeout errors in unit test which blocks us from making a release.

Checklist:

~ [ ] Add unit tests and/or doctests in docstrings~ ~ [ ] Add docstrings and API docs for any new/modified user-facing classes and functions~ ~ [ ] New/modified features documented in `docs/source/`~

TejasMorbagal commented 1 year ago

The script itself looks good, but what about that update-version part? Shouldn't that also be executed when a docker image is built?

My thoughts were that the ArgoCD image updater automatically updates the .argo files which is then used by deployment to fetch the new docker image. We no longer use docker image tags or hash directly. Do you agree on this?

TonioF commented 1 year ago

The script itself looks good, but what about that update-version part? Shouldn't that also be executed when a docker image is built?

My thoughts were that the ArgoCD image updater automatically updates the .argo files which is then used by deployment to fetch the new docker image. We no longer use docker image tags or hash directly. Do you agree on this?

If we don't need this, it's fine. But shouldn't the update section be removed from the other workflow then, too?

TejasMorbagal commented 1 year ago

The script itself looks good, but what about that update-version part? Shouldn't that also be executed when a docker image is built?

My thoughts were that the ArgoCD image updater automatically updates the .argo files which is then used by deployment to fetch the new docker image. We no longer use docker image tags or hash directly. Do you agree on this?

If we don't need this, it's fine. But shouldn't the update section be removed from the other workflow then, too?

Yes, it should be removed. Let's do it after Alicja is back with a different PR.

TonioF commented 1 year ago

The script itself looks good, but what about that update-version part? Shouldn't that also be executed when a docker image is built?

My thoughts were that the ArgoCD image updater automatically updates the .argo files which is then used by deployment to fetch the new docker image. We no longer use docker image tags or hash directly. Do you agree on this?

If we don't need this, it's fine. But shouldn't the update section be removed from the other workflow then, too?

Yes, it should be removed. Let's do it after Alicja is back with a different PR.

Okay, I'll just approve and merge then.

TonioF commented 1 year ago

Oh, wait, what is it about these failing tests?

codecov[bot] commented 1 year ago

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (4879864) 93.30% compared to head (8122a47) 93.33%. Report is 30 commits behind head on master.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #907 +/- ## ========================================== + Coverage 93.30% 93.33% +0.02% ========================================== Files 447 447 Lines 34844 34924 +80 ========================================== + Hits 32511 32596 +85 + Misses 2333 2328 -5 ``` | [Files](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop) | Coverage Δ | | |---|---|---| | [test/webapi/ows/coverages/test\_controllers.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-dGVzdC93ZWJhcGkvb3dzL2NvdmVyYWdlcy90ZXN0X2NvbnRyb2xsZXJzLnB5) | `100.00% <100.00%> (ø)` | | | [test/webapi/ows/coverages/test\_routes.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-dGVzdC93ZWJhcGkvb3dzL2NvdmVyYWdlcy90ZXN0X3JvdXRlcy5weQ==) | `100.00% <100.00%> (ø)` | | | [test/webapi/ows/stac/test\_controllers.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-dGVzdC93ZWJhcGkvb3dzL3N0YWMvdGVzdF9jb250cm9sbGVycy5weQ==) | `100.00% <100.00%> (ø)` | | | [xcube/core/byoa/fileset.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvY29yZS9ieW9hL2ZpbGVzZXQucHk=) | `92.92% <100.00%> (+0.03%)` | :arrow_up: | | [xcube/core/store/fs/store.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvY29yZS9zdG9yZS9mcy9zdG9yZS5weQ==) | `86.88% <100.00%> (ø)` | | | [xcube/server/api.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvc2VydmVyL2FwaS5weQ==) | `98.75% <100.00%> (+0.01%)` | :arrow_up: | | [xcube/util/fspath.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvdXRpbC9mc3BhdGgucHk=) | `96.55% <100.00%> (ø)` | | | [xcube/webapi/ows/coverages/routes.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvd2ViYXBpL293cy9jb3ZlcmFnZXMvcm91dGVzLnB5) | `98.57% <100.00%> (+0.10%)` | :arrow_up: | | [xcube/webapi/ows/stac/controllers.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvd2ViYXBpL293cy9zdGFjL2NvbnRyb2xsZXJzLnB5) | `97.13% <100.00%> (+0.03%)` | :arrow_up: | | [xcube/webapi/ows/stac/routes.py](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop#diff-eGN1YmUvd2ViYXBpL293cy9zdGFjL3JvdXRlcy5weQ==) | `100.00% <100.00%> (ø)` | | | ... and [1 more](https://app.codecov.io/gh/dcs4cop/xcube/pull/907?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop) | | ... and [2 files with indirect coverage changes](https://app.codecov.io/gh/dcs4cop/xcube/pull/907/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dcs4cop)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.