Commits on Source (16)
-
Dr Rich Wareham authoredff17e5cb
-
Dr Rich Wareham authored
There was no LICENSE file present and some of the docstrings either did not match the annotated return types or were otherwise malformed. Fix these small warts.
470c48b5 -
Dr Rich Wareham authored
The flake8 pre-commit checker was moaning about some files due to not understanding modern f-string idiom. Update it.
f7348119 -
Dr Rich Wareham authoredb1d885c6
-
Dr Rich Wareham authored
If the schema hasn't changed, not only is it not worth re-generating clients but we also won't be able to publish clients using the default strategy of extracting the version from the schema. (Both PyPI and npm disallow re-uploading packages with the same version number.)
fa97e7f7 -
Dr Rich Wareham authored
Use the openapi-generator CLI to generate and package a TypeScript client using axios for HTTP transport and a Python package using urllib3 for transport. The version numbers of the generated packages match the version number of the generated OpenAPI schema. As the OpenAPI generator is intended to be generic, we configure a reasonable set of defaults for generated artefact names, etc. Show how these can be customised in local configuration to specify alternate locations for schema files and source packages to be added as release assets. Add the generated API clients as release assets. The list of generated clients is supposed to be slightly opaque to the consuming project so that we may add additional clients over time. Should that prove troublesome, each client may be explicitly disabled by setting a generator-specific `..._DISABLED` variable. The package name is generated from the GitLab project name but can be overridden. We do so in our case since the project name ("api") is a little under-descriptive. As with generation, we support per-client overriding of the package name which we demonstrate with the Python package.
09825b18 -
Dr Rich Wareham authored
Generate documentation for each of the OpenAPI clients along with redoc-based documentation for the schema itself. Downstream projects should arrange to copy this documentation to some appropriate place. We add generic "document a TypeScript project" and "document a Python project" jobs along with specialisations for each of the clients we generate. All documentation ends up in `OPENAPI_GENERATOR_DOCS_ARTIFACT_DIR` which can be overridden by consuming projects.
ccd693d9 -
Dr Rich Wareham authored
Add jobs which publish generated OpenAPI clients to GitLab's own package registry. In time we may add ones which publish directly to npm and/or PyPI but for the moment keep things simple. Packages are only published if the git ref name matches a specific value. By default it is the default branch but it can be customised for advanced users.
a3ddcf2f -
Dr Rich Wareham authored18e01238
-
Dr Rich Wareham authored
The common CI pipeline has support for mkdocs-based documentation and so add a basic generated mkdocs config. Base the mkdocs config on the config which is likely to land in the copier template to minimise future disruption. We need to override some parts of the standard jobs to "inject" the documentation generated by the OpenAPI templates into them. We also need to add "fake" index.html files which take the place of the real documentation which will be injected in.
17e6c7dd -
Dr Rich Wareham authored
auto-generate API clients, package them, publish them and publish docs to GitLab pages See merge request !66
22c3ce59 -
Dr Rich Wareham authored
Now that uis/devops/continuous-delivery/ci-templates#93 is closed, we have a generic OpenAPI generator template. Make use of it. Closes #22
b1fb6eae -
Dr Rich Wareham authoredddc634a6
-
Dr Rich Wareham authored
feat: move to upstream OpenAPI generator template Closes #22 See merge request !68
f9585304 -
activate-account-bot authored2f6d0e05
-
Sebastiaan ten Pas authored
chore(release): 0.10.0 See merge request !67
.docsignore
0 → 100644
.gitlab/docs-local.gitlab-ci.yml
0 → 100644
.gitlab/openapi-generator.md
deleted
100644 → 0
LICENSE.txt
0 → 100644
activate_account/management/__init__.py
0 → 100644
docs/LICENSE.txt
0 → 120000
docs/api-clients.md
0 → 100644
docs/clients/python-urllib3/index.html
0 → 100644
docs/clients/redoc/index.html
0 → 100644