oxidecomputer / oxidecomputer/progenitor

api.github.com

Open
#444 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1k
Forks
136
Avg merge
8h 36m
Merged PRs (30d)
14

Description

When I fetch the latest from https://github.com/github/rest-api-description (it has the same version but it is not the same api), I encounter the following five parse errors. yes, there are only five.

  1. fails in typify schemas_mutually_exclusive due to this field.
"conditions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/repository-ruleset-conditions"
              },
              {
                "$ref": "#/components/schemas/org-ruleset-conditions"
              }
            ]
          },
  1. /markdown/raw handles two media types , text/plain and text/x-markdown .
  2. Fails due to this:
"422": {
            "description": "Validation failed",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/validation-error"
                    },
                    {
                      "$ref": "#/components/schemas/validation-error-simple"
                    }
                  ]
                }
              }
            }
          },
  1. Fails due to this
                  "make_latest": {
                    "type": "string",
                    "description": "Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Defaults to `true` for newly published releases. `legacy` specifies that the latest release should be determined based on the release creation date and higher semantic version.",
                    "enum": [
                      "true",
                      "false",
                      "legacy"
                    ],
                    "default": true
                  },
  1. response_types.len() <= 1', progenitor-impl/src/method.rs:1171:9 https://github.com/oxidecomputer/progenitor/issues/344

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce generation against the latest github/rest-api-description and inspect the five parse failures listed in the issue. Start with progenitor-impl/src/method.rs at the reported response_types assertion, then trace the other schema and media-type failures; done means the specification parses and generation completes without those errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi, rust
Domain
api, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.