Onboard ComfyUI-BRIA-API onto the Bria client-artifact conventions (matching figma-plugin / photoshop-plugin / obs-backgroundremoval), adapted for a ComfyUI custom node published to the Comfy Registry: - release-please (release-please.yml, config, manifest baseline 2.1.19, release-type python): watches dev, opens a version-bump PR from Conventional Commits, cuts a vX.Y.Z tag + GitHub release on merge. Plain GITHUB_TOKEN is enough — publishing keys off the pyproject.toml version, not the tag. - publish.yml: retargeted from main -> dev. Merging the release PR lands the pyproject.toml bump on dev, triggering the Comfy Registry publish. - ci.yml: build check (compileall + pyproject.toml validity) + advisory ruff format, on PRs and pushes to dev. - pr-title.yml: conventional-commit PR title gate. - Hygiene: .agents convention (AGENTS.md + CLAUDE.md + canonical code-style rule + .claude/.cursor stubs), .pre-commit-config.yaml (ruff + generic hooks). Version is no longer hand-bumped; dev is the single trunk. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
|
|
|
|
# SPDX-FileCopyrightText: 2026 Bria AI <support@bria.ai>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: CI
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [dev]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
name: Build check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
# ComfyUI + torch are heavy host deps we don't install in CI; compileall
|
|
# catches syntax errors across all node modules without importing them.
|
|
- name: Compile all sources
|
|
run: python -m compileall -q nodes __init__.py
|
|
|
|
# pyproject.toml is the version source of record (release-please bumps it,
|
|
# and the Comfy Registry reads it) — fail fast if it stops parsing.
|
|
- name: Validate pyproject.toml
|
|
run: |
|
|
python - <<'PY'
|
|
import tomllib
|
|
with open("pyproject.toml", "rb") as f:
|
|
data = tomllib.load(f)
|
|
assert data["project"]["version"], "pyproject.toml [project].version missing"
|
|
assert data["tool"]["comfy"]["PublisherId"], "[tool.comfy].PublisherId missing"
|
|
print("pyproject.toml OK — version", data["project"]["version"])
|
|
PY
|
|
|
|
format:
|
|
name: Ruff format check (advisory)
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
|
|
- name: Install ruff
|
|
run: pip install ruff
|
|
|
|
# Advisory only: the existing tree predates any formatter and a whole-repo
|
|
# run would flag pre-existing files, so this never fails the check yet.
|
|
# Format files you touch with `ruff format <files>`; once the tree is
|
|
# clean, drop continue-on-error to make it a hard gate.
|
|
- name: Check formatting
|
|
continue-on-error: true
|
|
run: ruff format --check .
|