Skip to content

Commit c20a939

Browse files
committed
👷 [#501] Make sure docs are built in CI
* add sphinx dependencies to ci.in * add flag to run docs check * fix broken links
1 parent 160d5fd commit c20a939

File tree

9 files changed

+110
-64
lines changed

9 files changed

+110
-64
lines changed

.github/workflows/ci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ jobs:
9191
- store-reusable-workflow-vars
9292
with:
9393
main-branch: 'master'
94+
run-docs: true
9495
python-version: '3.11'
9596
docker-image-name: ${{ needs.store-reusable-workflow-vars.outputs.image-name }}
9697

docs/api/compliancy/vng.rst

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ VNG compliancy
55
==============
66

77
The Objects and Objecttypes API specifications are proposed by the `municipality
8-
of Utrecht`_ and submitted to the `VNG`_ for to become a Dutch national
9-
standard. The VNG (Vereniging van Nederlandse Gemeenten) is the Association of
8+
of Utrecht`_ and submitted to the `VNG`_ for to become a Dutch national
9+
standard. The VNG (Vereniging van Nederlandse Gemeenten) is the Association of
1010
Dutch Municipalities.
1111

12-
The VNG has drafted an initial checklist for new API standards which is shown
13-
in the table below. The table below also shows the compliancy to this checklist
12+
The VNG has drafted an initial checklist for new API standards which is shown
13+
in the table below. The table below also shows the compliancy to this checklist
1414
for both APIs. This checklist is only available in Dutch.
1515

1616
.. csv-table:: 1. Stakeholder documentatie
@@ -58,7 +58,7 @@ for both APIs. This checklist is only available in Dutch.
5858
1;Opgesteld in Open API Specification 3.x;`Yes <https://objects-and-objecttypes-api.readthedocs.io/en/latest/api/index.html>`__;
5959
2;Gepubliceerd op VNG-Realisatie Github omgeving en beschikbaar via Redoc en Swagger;No [1]_;
6060
3;Ontwerpbeslissing zijn vertaald naar (aanvullende) specificaties;`Yes <https://github.com/maykinmedia/objects-api/issues>`_;
61-
4;Voldoet aan landelijke API strategie, in het bijzonder de core design rules;`Yes <https://objects-and-objecttypes-api.readthedocs.io/en/latest/api/principles.html>`__;
61+
4;Voldoet aan landelijke API strategie, in het bijzonder de core design rules;`Yes <https://objects-and-objecttypes-api.readthedocs.io/en/latest/api/compliancy/api-strategy.html>`__;
6262
5;Informatiebeveiliging en privacy best practices (IBD) worden gevolgd;No;Unclear
6363
6;Aanvullende specificaties die het gedrag van de API specificeren voor de provider.;No;TODO
6464
7;De OAS3-specificatie is getest voor toepasbaarheid in de mainstream code-generatoren;Yes (`1 <https://github.com/maykinmedia/objects-api/actions?query=workflow%3Agenerate-sdks>`__, `2 <https://github.com/maykinmedia/objecttypes-api/actions?query=workflow%3Agenerate-sdks>`__);
@@ -70,7 +70,7 @@ for both APIs. This checklist is only available in Dutch.
7070
:delim: ;
7171

7272
1;API-standaard is geïmplementeerd in een referentieimplementatie indien voor de standaard meerdere providers van toepassing kunnen zijn;Yes (`1 <https://github.com/maykinmedia/objects-api/>`__, `2 <https://github.com/maykinmedia/objecttypes-api/>`__);
73-
2;Testgevallen zijn beschreven voor elke service/operatie en aanvullende specificaties, zowel voor de happy als de unhappy flows;Yes (`1 <https://travis-ci.com/maykinmedia/objects-api>`__, `2 <https://travis-ci.com/maykinmedia/objecttypes-api>`__);
73+
2;Testgevallen zijn beschreven voor elke service/operatie en aanvullende specificaties, zowel voor de happy als de unhappy flows;Yes (`1 <https://github.com/maykinmedia/objects-api/actions>`__, `2 <https://github.com/maykinmedia/objecttypes-api/actions>`__);
7474
3;Elk testgeval beschrijft het logische testgeval, de teststap(pen) (wat wordt gedaan) en het verwachte resultaat;No;Unclear
7575
4;Er zijn compliancy tests beschikbaar voor elke referentie-component (consumers en providers) en alle betreffende services en operaties, zodat leveranciers kunnen testen en aantonen dat hun applicatie voldoet aan de standaard;No;TODO
7676
5;Voor zover nodig is ook de testdata beschreven die wordt gebruikt in de testgevallen;No;See 5.4.

docs/api/index.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
API-specifications
55
==================
66

7-
The Objects API and Objecttypes API are scheduled to be a `recommended standard
7+
The Objects API and Objecttypes API are scheduled to be a `recommended standard
88
as of March 1, 2022`_. Their specifications can be found below.
99

1010
====================== ==========================================
@@ -22,7 +22,7 @@ API Specification version(s)
2222

2323
See their respective repositories for the latest and previous versions.
2424

25-
.. _`recommended standard as of March 1, 2022`: https://www.vngrealisatie.nl/nieuws/twee-nieuwe-standaardverklaringen-deze-apis-maken-het-samenwerken-makkelijker-2022
25+
.. _`recommended standard as of March 1, 2022`: https://commonground.nl/news/view/0d7ff0a6-e960-412b-9a83-33bb1810c67d/twee-nieuwe-standaardverklaringen-deze-apis-maken-het-samenwerken-makkelijker-in-2022
2626
.. _`Objecttypes API`: https://github.com/maykinmedia/objecttypes-api
2727
.. _`Objects API`: https://github.com/maykinmedia/objects-api
2828

docs/conf.py

+4
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,12 @@
7979

8080
todo_include_todos = True
8181

82+
linkcheck_timeout = 10
8283
linkcheck_ignore = [
8384
r"https?://.*\.gemeente.nl",
8485
r"http://localhost:\d+/",
8586
r"https://.*sentry.*",
87+
"https://github.com/maykinmedia/objects-api-performance",
88+
"https://objects.municipality.nl/admin/",
89+
"https://sparxsystems.com/products/ea/trial/request.html" # this raises 403 for crawlers probably?
8690
]

docs/examples/objecttype-vordering.rst

+13-13
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ Vordering (Debt claim)
55
======================
66

77
The "Vordering" objecttype is converted from an existing information model from
8-
the `Gemeentelijke Basisprocessen Inkomen`_ (GBI). The GBI gemeenten work
8+
the `Gemeentelijke Basisprocessen Inkomen`_ (GBI). The GBI gemeenten work
99
together to create common proceses and models for the work-and-income domain.
1010

11-
As a test, they created a JSON schema for debt claims from their (huge)
11+
As a test, they created a JSON schema for debt claims from their (huge)
1212
:download:`ontology <_assets/vordering-ontology.png>`.
1313

14-
.. _`Gemeentelijke Basisprocessen Inkomen`: https://gbi-gemeenten.nl/
14+
.. _`Gemeentelijke Basisprocessen Inkomen`: https://commonground.nl/groups/view/ea69810c-b776-489d-ae9b-8f0722db54fd/team-gemeentelijke-basisprocessen-inkomen-gbi
1515

1616
Metadata
1717
========
@@ -21,27 +21,27 @@ Attribute Value
2121
======================== ==========================
2222
name vordering
2323
namePlural vorderingen
24-
description
25-
labels
24+
description
25+
labels
2626
maintainerOrganization GBI
27-
maintainerDepartment
27+
maintainerDepartment
2828
contactPerson Geurt-jan van Renswoude
2929
contactEmail Geurt-jan.van.Renswoude@ordina.nl
30-
providerOrganization
31-
source
30+
providerOrganization
31+
source
3232
status draft
3333
dataClassification open
3434
createdAt August 27, 2020
35-
modifiedAt
36-
publishedAt
37-
updateFrequency
38-
documentationUrl
35+
modifiedAt
36+
publishedAt
37+
updateFrequency
38+
documentationUrl
3939
======================== ==========================
4040

4141
Schema
4242
======
4343

44-
You can download the JSON schema
44+
You can download the JSON schema
4545
:download:`vordering.json <_assets/vordering.json>` or view it below:
4646

4747
.. include:: _assets/vordering.json

docs/installation/config_cli.rst

+33-41
Original file line numberDiff line numberDiff line change
@@ -37,37 +37,37 @@ Objecttypes configuration
3737
To configure objecttypes the following configuration could be used:
3838

3939
.. code-block:: yaml
40-
...
41-
zgw_consumers_config_enable: true
42-
zgw_consumers:
43-
services:
44-
- identifier: objecttypen-foo
45-
label: Objecttypen API Foo
46-
api_root: http://objecttypen.foo/api/v1/
47-
api_type: orc
48-
auth_type: api_key
49-
header_key: Authorization
50-
header_value: Token ba9d233e95e04c4a8a661a27daffe7c9bd019067
51-
52-
- identifier: objecttypen-bar
53-
label: Objecttypen API Bar
54-
api_root: http://objecttypen.bar/api/v1/
55-
api_type: orc
56-
auth_type: api_key
57-
header_key: Authorization
58-
header_value: Token b9f100590925b529664ed9d370f5f8da124b2c20
59-
60-
objecttypes_config_enable: true
61-
objecttypes:
62-
items:
63-
- uuid: b427ef84-189d-43aa-9efd-7bb2c459e281
64-
name: Object Type 1
65-
service_identifier: objecttypen-foo
66-
67-
- uuid: b0e8553f-8b1a-4d55-ab90-6d02f1bcf2c2
68-
name: Object Type 2
69-
service_identifier: objecttypen-bar
70-
...
40+
41+
zgw_consumers_config_enable: true
42+
zgw_consumers:
43+
services:
44+
- identifier: objecttypen-foo
45+
label: Objecttypen API Foo
46+
api_root: http://objecttypen.foo/api/v1/
47+
api_type: orc
48+
auth_type: api_key
49+
header_key: Authorization
50+
header_value: Token ba9d233e95e04c4a8a661a27daffe7c9bd019067
51+
52+
- identifier: objecttypen-bar
53+
label: Objecttypen API Bar
54+
api_root: http://objecttypen.bar/api/v1/
55+
api_type: orc
56+
auth_type: api_key
57+
header_key: Authorization
58+
header_value: Token b9f100590925b529664ed9d370f5f8da124b2c20
59+
60+
objecttypes_config_enable: true
61+
objecttypes:
62+
items:
63+
- uuid: b427ef84-189d-43aa-9efd-7bb2c459e281
64+
name: Object Type 1
65+
service_identifier: objecttypen-foo
66+
67+
- uuid: b0e8553f-8b1a-4d55-ab90-6d02f1bcf2c2
68+
name: Object Type 2
69+
service_identifier: objecttypen-bar
70+
7171
.. note:: The ``uuid`` field will be used to lookup existing ``ObjectType``'s.
7272

7373
Objecttypes require a corresponding ``Service`` to work correctly. Creating
@@ -81,7 +81,6 @@ In order to be able to retrieve objecttypes, a corresponding ``Service`` should
8181
created. An example of a configuration could be seen below:
8282

8383
.. code-block:: yaml
84-
...
8584
8685
zgw_consumers_config_enable: true
8786
zgw_consumers:
@@ -102,15 +101,13 @@ created. An example of a configuration could be seen below:
102101
auth_type: api_key
103102
header_key: Authorization
104103
header_value: Token b9f100590925b529664ed9d370f5f8da124b2c20
105-
....
106104
107105
Tokens configuration
108106
--------------------
109107
Create or update the (single) YAML configuration file with your settings:
110108

111109
.. code-block:: yaml
112-
113-
...
110+
114111
tokenauth_config_enable: true
115112
tokenauth:
116113
items:
@@ -127,7 +124,6 @@ Create or update the (single) YAML configuration file with your settings:
127124
token: 7b2b212d9f16d171a70a1d927cdcfbd5ca7a4799
128125
contact_person: Person 2
129126
email: person-2@example.com
130-
...
131127
132128
Mozilla-django-oidc-db
133129
----------------------
@@ -136,7 +132,6 @@ Create or update the (single) YAML configuration file with your settings:
136132

137133
.. code-block:: yaml
138134
139-
...
140135
oidc_db_config_enable: true
141136
oidc_db_config_admin_auth:
142137
items:
@@ -150,7 +145,6 @@ Create or update the (single) YAML configuration file with your settings:
150145
151146
# workaround for https://github.com/maykinmedia/django-setup-configuration/issues/27
152147
userinfo_claims_source: id_token
153-
...
154148
155149
More details about configuring mozilla-django-oidc-db through ``setup_configuration``
156150
can be found at the _`documentation`: https://mozilla-django-oidc-db.readthedocs.io/en/latest/setup_configuration.html.
@@ -159,14 +153,13 @@ Sites configuration
159153
-------------------
160154

161155
Notifications configuration
162-
-------------------------
156+
---------------------------
163157

164158
To configure sending notifications for the application ensure there is a ``services``
165159
item present that matches the ``notifications_api_service_identifier`` in the
166160
``notifications_config`` namespace:
167161

168162
.. code-block:: yaml
169-
...
170163
171164
zgw_consumers_config_enable: true
172165
zgw_consumers:
@@ -184,7 +177,6 @@ item present that matches the ``notifications_api_service_identifier`` in the
184177
notification_delivery_max_retries: 1
185178
notification_delivery_retry_backoff: 2
186179
notification_delivery_retry_backoff_max: 3
187-
....
188180
189181
190182
Execution

docs/introduction/information-model.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ changing the material history.
3030
Links
3131
=====
3232

33-
* `Enterprise Architect (lite) <https://www.sparxsystems.eu/enterprise-architect/ea-lite-edition/>`__
33+
* `Enterprise Architect (lite) <https://sparxsystems.com/products/ea/trial/request.html>`__
3434
* :download:`Object and Objecttypes information model <_assets/information-model.zip>`
3535
* `MIM-files <https://register.geostandaarden.nl/informatiemodel/mim/>`__
3636

3737
.. _`Metamodel Informatiemodellering`: https://www.geonovum.nl/geo-standaarden/metamodel-informatiemodellering-mim
38-
.. _`StUF`: https://www.gemmaonline.nl/images/gemmaonline/f/fa/Stuf0301.pdf
38+
.. _`StUF`: https://vng-realisatie.github.io/StUF-onderlaag/documenten/Stuf0301.pdf

requirements/ci.in

+5
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
codecov
22
pytest
3+
4+
# Documentation
5+
sphinx
6+
sphinx-rtd-theme
7+
sphinx-tabs

requirements/ci.txt

+44
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#
55
# pip-compile --no-emit-index-url --output-file=requirements/ci.txt requirements/base.txt requirements/ci.in requirements/test-tools.in
66
#
7+
alabaster==1.0.0
8+
# via sphinx
79
amqp==5.2.0
810
# via
911
# -r requirements/base.txt
@@ -33,6 +35,8 @@ attrs==20.3.0
3335
# -r requirements/base.txt
3436
# glom
3537
# jsonschema
38+
babel==2.16.0
39+
# via sphinx
3640
beautifulsoup4==4.9.3
3741
# via webtest
3842
billiard==4.2.0
@@ -288,6 +292,11 @@ djangorestframework-inclusions==1.2.0
288292
# via
289293
# -r requirements/base.txt
290294
# open-api-framework
295+
docutils==0.21.2
296+
# via
297+
# sphinx
298+
# sphinx-rtd-theme
299+
# sphinx-tabs
291300
drf-nested-routers==0.94.1
292301
# via
293302
# -r requirements/base.txt
@@ -346,6 +355,8 @@ idna==3.7
346355
# -r requirements/base.txt
347356
# requests
348357
# yarl
358+
imagesize==1.4.1
359+
# via sphinx
349360
inflection==0.5.1
350361
# via
351362
# -r requirements/base.txt
@@ -371,6 +382,7 @@ jinja2==3.1.4
371382
# via
372383
# -r requirements/base.txt
373384
# coreschema
385+
# sphinx
374386
josepy==1.9.0
375387
# via
376388
# -r requirements/base.txt
@@ -427,6 +439,7 @@ packaging==23.2
427439
# black
428440
# drf-yasg
429441
# pytest
442+
# sphinx
430443
pathspec==0.12.1
431444
# via black
432445
phonenumberslite==8.13.30
@@ -470,6 +483,10 @@ pydantic-settings[yaml]==2.6.1
470483
# django-setup-configuration
471484
pyflakes==3.2.0
472485
# via flake8
486+
pygments==2.18.0
487+
# via
488+
# sphinx
489+
# sphinx-tabs
473490
pyjwt==2.4.0
474491
# via
475492
# -r requirements/base.txt
@@ -537,6 +554,7 @@ requests==2.32.3
537554
# mozilla-django-oidc
538555
# open-api-framework
539556
# requests-mock
557+
# sphinx
540558
# zgw-consumers
541559
requests-mock==1.12.1
542560
# via
@@ -557,8 +575,34 @@ six==1.16.0
557575
# python-dateutil
558576
# qrcode
559577
# webtest
578+
snowballstemmer==2.2.0
579+
# via sphinx
560580
soupsieve==2.2.1
561581
# via beautifulsoup4
582+
sphinx==8.1.3
583+
# via
584+
# -r requirements/ci.in
585+
# sphinx-rtd-theme
586+
# sphinx-tabs
587+
# sphinxcontrib-jquery
588+
sphinx-rtd-theme==3.0.2
589+
# via -r requirements/ci.in
590+
sphinx-tabs==3.4.7
591+
# via -r requirements/ci.in
592+
sphinxcontrib-applehelp==2.0.0
593+
# via sphinx
594+
sphinxcontrib-devhelp==2.0.0
595+
# via sphinx
596+
sphinxcontrib-htmlhelp==2.1.0
597+
# via sphinx
598+
sphinxcontrib-jquery==4.1
599+
# via sphinx-rtd-theme
600+
sphinxcontrib-jsmath==1.0.1
601+
# via sphinx
602+
sphinxcontrib-qthelp==2.0.0
603+
# via sphinx
604+
sphinxcontrib-serializinghtml==2.0.0
605+
# via sphinx
562606
sqlparse==0.5.0
563607
# via
564608
# -r requirements/base.txt

0 commit comments

Comments
 (0)