Skip to content

[Feature]: Add GitHub Actions CI pipeline to the umbrella repo for pyproject.toml validation, dependency audit, and README link checking #34

Description

@divyanshim27

Summary

This umbrella repository currently has no .github/workflows/ directory. While the actual code lives in the plugin repositories, the umbrella still manages pyproject.toml, SECURITY.md, contribution tracking files, and documentation. Without any CI, changes to these files — especially pyproject.toml dependency version pins — are merged with no automated validation. A malformed pyproject.toml or a broken documentation link can silently undermine the entire ecosystem's onboarding experience.

Problem
There is no .github/workflows/ directory in this repository
pyproject.toml specifies pinned dependency ranges for camouchat-core, camouchat-browser, camouchat-whatsapp, and camoufox — but no CI validates that the umbrella package actually installs cleanly when these ranges are applied
README.md contains numerous external links to plugin repos, PyPI pages, and documentation pages; none of these are checked for breakage on each commit
The SECURITY.md and CONTRIBUTING.md are critical documents that could be edited incorrectly without any review gate beyond manual PR review
Impact
A contributor bumping a dependency version in pyproject.toml incorrectly could break the install for all downstream users without any automated signal
Broken links in README.md degrade the first-impression experience for new users and contributors
Without CI, maintainers bear the full burden of manual validation for every PR
Proposed Solution

I would like to implement a GitHub Actions workflow with three jobs:

yaml

.github/workflows/ci.yml

name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
validate-package:
name: Validate pyproject.toml & Install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
with:
python-version: "3.11"
- name: Install umbrella package
run: uv pip install .
- name: Validate pyproject.toml
run: uv pip show camouchat

dependency-audit:
name: Security Audit (pip-audit)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v3
- name: Install pip-audit
run: uv pip install pip-audit
- name: Audit dependencies
run: pip-audit --requirement <(uv pip compile pyproject.toml)

link-check:
name: Check README Links
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: 'yes'
config-file: '.mlc_config.json'

I will also add a .mlc_config.json for the link checker to skip known-flaky external domains. Could you assign this issue to me?

Labels: ci/cd, enhancement, help wanted, GSSoC 2026

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions