640762bd67
ci / gmail channel — unit tests (push) Successful in 53s
Generalizes the RenoStars enteros-gmail-channel poller into a first-party, discoverable, install-on-demand channel plugin (author molecule-ai). No hardcoded creds/routing: per-workspace Gmail OAuth minted via a Google device grant (gmail-connect skill) and stored as the workspace's own secrets. Inbound-only (gmail.readonly): new mail -> workspace A2A message/send, deduped on Message-ID. Stdlib-only bridge + onboarding; in-workspace daemon via contributes.daemons. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.1 KiB
YAML
39 lines
1.1 KiB
YAML
# ci.yml — unit tests for the Gmail channel.
|
|
#
|
|
# The bridge + onboarding are stdlib-only, so the tests need no live Gmail, no
|
|
# platform, and no network — and deliberately NO install of the package or the
|
|
# Gitea-hosted runtime (which would couple CI to the private index). We add the
|
|
# repo root to sys.path in the tests and install only pytest + pyyaml (public
|
|
# PyPI) for the manifest-version-sync test.
|
|
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
unit-tests:
|
|
name: gmail channel — unit tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install test deps (public PyPI only)
|
|
run: pip install --quiet pytest pyyaml
|
|
|
|
- name: Byte-compile all modules
|
|
run: python -m py_compile gmail_channel_molecule/*.py
|
|
|
|
- name: Run unit tests (no live Gmail / platform)
|
|
run: pytest tests/ -q
|