plex-api-spec icon indicating copy to clipboard operation
plex-api-spec copied to clipboard

merge build workflow file and add referenced file to the build

Open JasonLandbridge opened this issue 1 year ago • 2 comments

Hi,

This PR does two things:

  1. The build script in package.json now builds a de-referenced and referenced file into the output folder.
  2. Merged the sdk_generation.yaml into the build workflow file
    • All SDK's now rely on the speakeasy API registry, this registry should be updated a.s.a.p. when the spec has changed. So now the output files are build, and the API registry is updated without waiting for a CRON job to do the updating.
    • This was already supposed to work like this, that the sdk_generation.yaml would be triggered from the push step in the build step, but this is a safety feature in GitHub where workflow files cannot trigger each other like this so now it should work as intended.

Summary by CodeRabbit

  • New Features

    • Introduced a new workflow for building and pushing the Plex Media Server API specification.
    • Added parallel execution for building referenced and dereferenced specifications.
  • Bug Fixes

    • Removed outdated workflows that were no longer needed.
  • Documentation

    • Updated scripts in the package.json to enhance the build process with new commands and updated dependency versions.

JasonLandbridge avatar Oct 02 '24 11:10 JasonLandbridge

📝 Walkthrough
📝 Walkthrough

Walkthrough

The recent alterations encompass the removal of the workflow file for building and copying the Plex Media Server API specification, alongside the deletion of the SDK generation workflow. In its stead, a new workflow has been introduced, aimed at building and pushing the Plex Media Server API specification. Additionally, modifications to the package.json file include enhancements to the build scripts for concurrent execution and an update to development dependencies.

Changes

File Path Change Summary
.github/workflows/build-and-copy-pms-spec.yml Workflow removed: Build and Copy Dereferenced Plex Media Server API Spec
.github/workflows/build-and-push-pms-spec.yml New workflow added: Build and Push Plex Media Server API Spec
.github/workflows/sdk_generation.yaml Workflow removed: Generate
package.json - Script modified: "build" updated for concurrent execution.
- Scripts added: "build-referenced" and "build-dereferenced" introduced.
- Dependency versions updated: @redocly/cli to ^1.34.3, @modyfi/vite-plugin-yaml to ^1.1.1

Possibly related PRs

  • #57: The changes in this PR involve modifications to the API specification, including updates to the operationId and the addition of the x-speakeasy-name-override property, which are relevant to the dereferencing process described in the main PR's workflow.

In the realm of code where changes reside,
A workflow's departure, a new one to guide.
Scripts now run swiftly, side by side,
With dependencies updated, we take great pride.
So raise a toast to progress, let’s not hide,
For in this dance of code, we shall abide! 🎩✨


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

coderabbitai[bot] avatar Oct 02 '24 11:10 coderabbitai[bot]

Lets hold off on this for now, I'm exploring resolving some issues in the redocly CLI, per our Discord chat

LukeHagar avatar Oct 09 '24 15:10 LukeHagar

This seems to be blocking: https://github.com/Redocly/redocly-cli/issues/661

JasonLandbridge avatar Jun 03 '25 14:06 JasonLandbridge

Closing this for now, we can re-eval after the new spec is fully integrated

LukeHagar avatar Oct 12 '25 02:10 LukeHagar