Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 0 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,3 @@ tmp*
*ignore*
!.dockerignore
!.gitignore


# api diffs
api/openapi-*-diff.json
api/openapi-dev.json
3 changes: 3 additions & 0 deletions .vscode/settings.template.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@
},
"pylint.args": [
"--rcfile=clients/python/.pylintrc"
],
"python.analysis.extraPaths": [
"./clients/python/artifacts/client"
]
}
16 changes: 10 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ PYTHON_DIR := $(CLIENTS_DIR)/python


.vscode/%.json: .vscode/%.template.json
$(if $(wildcard $@), \
-$(if $(wildcard $@), \
@echo "WARNING ##### $< is newer than $@ ####"; diff -uN $@ $<; false;,\
@echo "WARNING ##### $@ does not exist, cloning $< as $@ ############"; cp $< $@)

Expand All @@ -27,14 +27,16 @@ info-envs: ## info on envs

info-tools: ## info on tooling
# Tooling ---------------
@echo ' make : $(shell make --version 2>&1 | head -n 1)'
@echo ' jq : $(shell jq --version)'
@echo ' awk : $(shell awk -W version 2>&1 | head -n 1)'
@echo ' python : $(shell python3 --version)'
@echo ' uv : $(shell uv --version)'
@echo ' curl : $(shell curl --version | head -n 1)'
@echo ' docker : $(shell docker --version)'
@echo ' docker buildx : $(shell docker buildx version)'
@echo ' docker compose : $(shell docker compose version)'
@echo ' jq : $(shell jq --version)'
@echo ' make : $(shell make --version 2>&1 | head -n 1)'
@echo ' python : $(shell python3 --version)'
@echo ' uv : $(shell uv --version)'



info-pip: ## info index versions
Expand All @@ -50,7 +52,9 @@ info: info-api info-envs info-tools info-pip ## all infos


.venv: .check-uv-installed
@uv venv $@
@uv venv \
--python 3.10 \
$@
## upgrading tools to latest version in $(shell python3 --version)
@uv pip --quiet install --upgrade \
pip~=24.0 \
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ To get started using the tools developed in this repository have a look at the
[Documentation](https://itisfoundation.github.io/osparc-simcore-clients).

For more in depth knowledge concerning the development of the repository, take a look at

- [Release Notes](https://github.com/ITISFoundation/osparc-simcore-clients/releases)
- [Development notes](#development-notes)

Expand All @@ -27,6 +28,7 @@ See the different `clients/<language>/README.md` for the workflows for generatin
2. The [openapi-generator](https://github.com/ITISFoundation/openapi-generator)-tool. The exact docker image of this tool to use is specifies in `scripts/common.Makefile`.

## Code lifecycle

This link explains the lifecycle of the osparc client(s) (borrowed from https://www.ibm.com/docs/en/acvfc?topic=manager-product-lifecycle)
<p align="center">
<a href="https://www.ibm.com/docs/en/acvfc?topic=manager-product-lifecycle" target="_blank">
Expand Down
15 changes: 15 additions & 0 deletions VERSIONING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Versioning Strategy

- We follow **post-release versioning** during development.
- Format: `1.2.3.post0.devN` where `N` represents the number of commits since the last release (`1.2.3`).
- We opt for post-release versioning rather than pre-release to avoid making early decisions about the next release version.

- Official releases follow the format `1.2.3`.

- **Patch releases** (e.g., `1.2.4`) are used instead of post-releases like `1.2.3.postX`.

- Releases are determined by **git tags**. SEE [Releases](https://github.com/ITISFoundation/osparc-simcore-clients/releases).

- For more details, refer to the following:
- GitHub workflow for publishing: `.github/workflows/publish-python-client.yml`
- Version computation script: `scripts/compute_version.bash`
3 changes: 3 additions & 0 deletions api/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
openapi-*-diff.json
openapi-deploy.json
openapi-master.json
37 changes: 24 additions & 13 deletions api/Makefile
Original file line number Diff line number Diff line change
@@ -1,20 +1,31 @@
include ../scripts/common.Makefile


.PHONY: openapi-diff-dev.json
openapi-dev-diff.json: ## Diffs against newer openapi-dev.json and checks backwards compatibility
$(SCRIPTS_DIR)/openapi-diff.bash \
/specs/openapi.json \
/specs/openapi-dev.json \
--fail-on-incompatible \
--json=/specs/$@
define download_openapi
@curl -L $(1) -o $(2) || (echo "Failed to download $(2)" && exit 1)
endef

.PHONY: openapi-master.json
openapi-master.json:
$(call download_openapi, https://raw.githubusercontent.com/ITISFoundation/osparc-simcore-clients/refs/heads/master/api/openapi.json,$@)

.PHONY: openapi-deploy.json
openapi-deploy.json:
$(call download_openapi, https://api.osparc.io/api/v0/openapi.json,$@)

.PHONY: openapi-diff-dev.json

define openapi_diff
$(SCRIPTS_DIR)/openapi-diff.bash $(1) /specs/openapi.json \
--fail-on-incompatible \
--json="/specs/$(2)"
endef


.PHONY: openapi-master-diff.json
openapi-master-diff.json: ## Diffs against newer openapi-dev.json and checks backwards compatibility
$(call openapi_diff, https://raw.githubusercontent.com/ITISFoundation/osparc-simcore-clients/refs/heads/master/api/openapi.json,$@)


.PHONY: openapi-deploy-diff.json
openapi-deploy-diff.json: ## Diffs against newer openapi-dev.json and checks backwards compatibility
$(SCRIPTS_DIR)/openapi-diff.bash \
https://api.osparc.io/api/v0/openapi.json \
/specs/openapi.json \
--fail-on-incompatible \
--json=/specs/$@
$(call openapi_diff, https://api.osparc.io/api/v0/openapi.json,$@)
Loading
Loading