FAQ | This is a LIVE service | Changelog

Skip to content
  1. Dec 13, 2024
  2. Dec 09, 2024
  3. Dec 05, 2024
  4. Dec 04, 2024
    • Dr Rich Wareham's avatar
      feat: add some basic documentation · 17e6c7dd
      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's avatar
    • Dr Rich Wareham's avatar
      feat: publish OpenAPI clients to GitLab's package registry · a3ddcf2f
      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's avatar
      feat: add generated documentation for OpanAPI clients · ccd693d9
      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's avatar
      feat: generate and package OpenAPI clients · 09825b18
      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's avatar
      feat: only trigger API client generation if schema changes · fa97e7f7
      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's avatar
    • Dr Rich Wareham's avatar
      fix(pre-commit): update flake8 · f7348119
      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's avatar
      fix: correct various documentation warts · 470c48b5
      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's avatar
  5. Dec 03, 2024
  6. Dec 02, 2024
  7. Nov 28, 2024
Loading