From b1f23874b06bc0e4a6820251045d92596d5c6f4d Mon Sep 17 00:00:00 2001 From: Steven Bal Date: Thu, 6 Mar 2025 15:12:17 +0100 Subject: [PATCH 1/3] :construction_worker: [maykinmedia/open-api-framework#115] Always run OAS check to verify that the schema is up to date --- .github/workflows/check-oas.yml | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/.github/workflows/check-oas.yml b/.github/workflows/check-oas.yml index 15e4a8e3..42b8f0bb 100644 --- a/.github/workflows/check-oas.yml +++ b/.github/workflows/check-oas.yml @@ -2,22 +2,15 @@ name: check-oas on: push: - paths: - - "src/objecttypes/api/*/openapi.yaml" - - .github/workflows/oas-check.yml - branches: - - '**' workflow_dispatch: jobs: open-api-workflow-check-oas: - uses: maykinmedia/open-api-workflows/.github/workflows/oas-check.yml@v1 - strategy: - matrix: - version: - - v2 + uses: maykinmedia/open-api-workflows/.github/workflows/oas-check.yml@v5.0.0 with: - schema-path: 'src/objecttypes/api/${{ matrix.version }}/openapi.yaml' + schema-path: 'src/objecttypes/api/v2/openapi.yaml' + schema-options: 'src/objecttypes/api/v2/openapi.yaml' python-version: '3.11' django-settings-module: 'objecttypes.conf.ci' + schema-command: bin/generate_schema.sh apt-packages: 'libgdal-dev gdal-bin' From c46e74fc5ce180977e28b7b17ddb8729a75db86b Mon Sep 17 00:00:00 2001 From: Steven Bal Date: Fri, 7 Mar 2025 11:17:50 +0100 Subject: [PATCH 2/3] :arrow_up: Upgrade commonground-api-common to 2.5.2 --- requirements/base.txt | 2 +- requirements/ci.txt | 2 +- requirements/dev.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 9bd7f72b..238fe1a2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -56,7 +56,7 @@ click-plugins==1.1.1 # via celery click-repl==0.2.0 # via celery -commonground-api-common==2.5.1 +commonground-api-common==2.5.2 # via open-api-framework coreapi==2.3.3 # via commonground-api-common diff --git a/requirements/ci.txt b/requirements/ci.txt index 4db5eaf7..4ed8557a 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -110,7 +110,7 @@ click-repl==0.2.0 # celery codecov==2.1.13 # via -r requirements/test-tools.in -commonground-api-common==2.5.1 +commonground-api-common==2.5.2 # via # -c requirements/base.txt # -r requirements/base.txt diff --git a/requirements/dev.txt b/requirements/dev.txt index 1cda1269..dae12950 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -134,7 +134,7 @@ codecov==2.1.13 # via # -c requirements/ci.txt # -r requirements/ci.txt -commonground-api-common==2.5.1 +commonground-api-common==2.5.2 # via # -c requirements/ci.txt # -r requirements/ci.txt From b2b87fa6299e2a91b530a7e0df20e513b29ea542 Mon Sep 17 00:00:00 2001 From: Steven Bal Date: Thu, 6 Mar 2025 15:12:49 +0100 Subject: [PATCH 3/3] :memo: [maykinmedia/open-api-framework#115] Regenerate schema and explicitly generate it in English --- bin/generate_schema.sh | 2 +- src/objecttypes/api/v2/openapi.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/generate_schema.sh b/bin/generate_schema.sh index cdb81a67..1d394ff1 100755 --- a/bin/generate_schema.sh +++ b/bin/generate_schema.sh @@ -8,4 +8,4 @@ export SCHEMA_PATH=src/objecttypes/api/v2/openapi.yaml OUTPUT_FILE=$1 -src/manage.py spectacular --file ${OUTPUT_FILE:-$SCHEMA_PATH} --validate +src/manage.py spectacular --file ${OUTPUT_FILE:-$SCHEMA_PATH} --validate --lang="en" diff --git a/src/objecttypes/api/v2/openapi.yaml b/src/objecttypes/api/v2/openapi.yaml index 3dff2a0a..01bb4bc1 100644 --- a/src/objecttypes/api/v2/openapi.yaml +++ b/src/objecttypes/api/v2/openapi.yaml @@ -449,11 +449,11 @@ components: url: type: string format: uri + readOnly: true minLength: 1 maxLength: 1000 description: URL reference to this object. This is the unique identification and location of this object. - readOnly: true uuid: type: string format: uuid @@ -657,11 +657,11 @@ components: url: type: string format: uri + readOnly: true minLength: 1 maxLength: 1000 description: URL reference to this object. This is the unique identification and location of this object. - readOnly: true uuid: type: string format: uuid