Skip to content

Add GitHub Actions CI/CD workflows for monorepo build and release#16

Merged
sivert-io merged 5 commits into
mainfrom
copilot/add-github-actions-workflows
Apr 14, 2026
Merged

Add GitHub Actions CI/CD workflows for monorepo build and release#16
sivert-io merged 5 commits into
mainfrom
copilot/add-github-actions-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

  • Inspect current release workflows and CI docs
  • Verify baseline local checks status before edits
  • Update .github/workflows/release.yml to support component-scoped releases so client jobs only run for client releases
  • Update .github/workflows/release-mac.yml so mac client signing runs only for client/all releases
  • Update /home/runner/work/gryt/gryt/docs/ci.md to document new release tag/component behavior
  • Validate workflow syntax and review diffs
  • Fix github-release dependency condition so skipped component jobs do not block release creation
  • Fix release tag trigger patterns to reliable glob filters
Original prompt

Goal: Set up GitHub Actions CI/CD for the monorepo Gryt-chat/gryt (repo ID: 1163318209) so GitHub can build and publish releases for three deliverables: client, server, and SFU.

Context / constraints:

  • Repository is a monorepo.
  • It uses modules (likely Node workspaces / Go modules / etc.). The workflow must handle the monorepo layout cleanly.
  • The current user login is sivert-io.

What to implement:

  1. Add one or more GitHub Actions workflows under .github/workflows/ that:

    • Build the client.
    • Build the server.
    • Build the SFU.
    • Support caching (dependency caches) appropriate to the tech stack.
    • Produce artifacts for each target.
  2. Add a release workflow that can create GitHub Releases and attach the built artifacts for client/server/sfu.

    • Prefer a tag-based release flow (e.g., push tags v*.*.*) or a manual workflow_dispatch with version input.
    • Ensure artifacts are named clearly and include platform/arch where relevant.
  3. Monorepo & modules handling:

    • Detect the project structure and package manager/module system.
    • Avoid rebuilding unaffected parts where possible (e.g., path filters or matrix jobs scoped to client/**, server/**, sfu/**).
    • Ensure that module boundaries/workspaces are handled correctly in installs/build commands.
  4. Output:

    • Ensure workflows are reliable, run on Ubuntu by default, and optionally add a matrix for OS/arch if the build output needs it.
    • Document in the repo (e.g., in README.md or docs/ci.md) how to cut a release, including required secrets.

Acceptance criteria:

  • A push to the default branch runs build jobs for client/server/sfu.
  • Creating a version tag (or running the release workflow manually) produces a GitHub Release with attached artifacts for all three components.
  • The workflows work with the monorepo layout and its module system.

Please explore the repository to determine exact build commands, subproject paths, and tooling (Node/Go/Rust/etc.), then implement the workflows accordingly.

The following is the prior conversation context from the user's chat exploration (may be truncated):

User: are you able to make it so we can use github to build and release the client, server and sfu? its a bit difficult because this is a monorepo and we use modules but....

Assistant: I’m ready to set up GitHub-based build + release pipelines for the client, server, and SFU in Gryt-chat/gryt, but I’m currently waiting for your approval/confirmation in the GitHub dialog before I can proceed with the changes.

This pull request was created from Copilot chat.

Copilot AI changed the title [WIP] Add GitHub Actions CI/CD for monorepo releases Add GitHub Actions CI/CD workflows for monorepo build and release Apr 14, 2026
Copilot AI requested a review from sivert-io April 14, 2026 16:31
Copilot AI and others added 3 commits April 14, 2026 16:37
Agent-Logs-Url: https://github.com/Gryt-chat/gryt/sessions/8300a1a0-ffa9-40f9-b874-aa65fac4db62

Co-authored-by: sivert-io <6785315+sivert-io@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Gryt-chat/gryt/sessions/8300a1a0-ffa9-40f9-b874-aa65fac4db62

Co-authored-by: sivert-io <6785315+sivert-io@users.noreply.github.com>
Agent-Logs-Url: https://github.com/Gryt-chat/gryt/sessions/8300a1a0-ffa9-40f9-b874-aa65fac4db62

Co-authored-by: sivert-io <6785315+sivert-io@users.noreply.github.com>
@sivert-io sivert-io marked this pull request as ready for review April 14, 2026 16:55
@sivert-io sivert-io merged commit 6bc157c into main Apr 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants