Files
gmail-channel-molecule/.gitea/workflows/ci.yml
T
Hongming Wang 640762bd67
ci / gmail channel — unit tests (push) Successful in 53s
feat: gmail-channel-molecule v0.1.0 — first-party Gmail inbound channel
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>
2026-07-25 19:17:00 -07:00

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