1bef1879e0
Co-authored-by: molecule-code-reviewer <code-reviewer@moleculesai.app> Co-committed-by: molecule-code-reviewer <code-reviewer@moleculesai.app>
41 lines
1.8 KiB
YAML
41 lines
1.8 KiB
YAML
name: ci
|
|
|
|
on: [push, pull_request]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
validate:
|
|
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"
|
|
# No `cache: pip` — this plugin ships no requirements.txt/pyproject.toml
|
|
# (it vendors channel_sdk and installs the authoring SDK ad-hoc below),
|
|
# and setup-python's pip cache hard-fails without a deps file to hash.
|
|
- name: Install authoring SDK (scaffold SSOT)
|
|
# This plugin is a materialized instance of the SDK trigger scaffold, so
|
|
# `validate` and the drift gate need the SDK. Install it from its git
|
|
# RELEASED-wheel pin: bumped to sdk 0.5.5, which adds the RFC-#8
|
|
# schedule_name outcome correlation to the trigger scaffold (drift gate
|
|
# byte-identical vs the 0.5.5 wheel). Bump SDK_VERSION (and regenerate
|
|
# this plugin) whenever the SDK trigger scaffold changes.
|
|
env:
|
|
SDK_VERSION: 0.5.5
|
|
run: |
|
|
# --extra-index-url (not --index-url): the Gitea registry hosts only
|
|
# molecule packages; deps (pyyaml) must still resolve from PyPI.
|
|
python -m pip install "molecule-ai-sdk==${SDK_VERSION}" \
|
|
--extra-index-url https://git.moleculesai.app/api/packages/molecule-ai/pypi/simple/
|
|
- name: Manifest validation
|
|
run: python -m molecule_plugin validate plugin .
|
|
- name: SSOT drift gate (daemon logic == SDK scaffold)
|
|
run: python scripts/check_scaffold_drift.py
|
|
- name: Daemon unit tests
|
|
run: python -m unittest discover -s tests -v
|