FAQ | This is a LIVE service | Changelog

Skip to content
Snippets Groups Projects
  1. Jan 17, 2025
  2. Jan 16, 2025
  3. Jan 14, 2025
  4. Jan 10, 2025
  5. Jan 09, 2025
  6. Jan 08, 2025
  7. Jan 07, 2025
  8. Jan 06, 2025
  9. Dec 13, 2024
  10. Dec 09, 2024
  11. Dec 05, 2024
  12. 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
Loading