Repository navigation
53 lines (50 loc) · 2.35 KB
/
Copy pathplugin-e2e.yml
File metadata and controls
53 lines (50 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# plugin-e2e — caller template (SPEC DEC-020/044).
#
# Copied into a consumer plugin repo at .github/workflows/plugin-e2e.yml by
# `make link-workflows`. Runs the full install → verify-installed → uninstall →
# verify-uninstalled lifecycle (A0 booted nested + rootless) on every PR.
#
# Parameter-free: the reusable workflow resolves the plugin from the repo
# (.devkit.yml `plugin_dir` → else canonical usr/plugins/<name>), so this
# template is identical across all repos.
#
# Needs (DEC-055) GHCR_PULL_TOKEN to pull the private fork image; the sync-App
# pair is legacy/optional since the devkit went public (DEC-075).
#
# SECRETS ARE PASSED EXPLICITLY, not via `secrets: inherit` (DEC-081).
# `inherit` forwards EVERY repo- and org-level secret to the reusable workflow —
# including secrets added later and secrets the workflow never declares. The
# reusable workflow declares exactly the three below, all `required: false`, so
# this list is complete. Adding a shared secret later means editing this template
# and re-running `make link-workflows`, which is the same cadence as every other
# devkit asset (devkit-sync.caller.yml already pays exactly this cost).
#
# The `uses:` ref is pinned to a RELEASE TAG, not `@main`. With `@main`, every
# merge to the devkit went live in 24 consumers' CI immediately and unreviewed.
name: plugin-e2e
on:
pull_request:
branches: ["main", "master"]
# push on main: proves the shipped code, and gives the README badge a status
# (PR-only runs leave branch=main with zero runs → "no status").
push:
branches: ["main", "master"]
workflow_dispatch:
inputs:
capture_all_traces:
description: "Capture a Playwright trace for EVERY scenario (not just failures)"
type: boolean
default: false
permissions:
contents: read
pull-requests: write # merge-guard drafts a PR whose plugin-e2e is red
actions: write # DEC-074 count-based artifact retention: delete superseded e2e artifacts
jobs:
e2e:
uses: agent-zero-plugins/agent-zero-plugin-development-testkit/.github/workflows/plugin-e2e.yml@v2.1.6
secrets:
GHCR_PULL_TOKEN: ${{ secrets.GHCR_PULL_TOKEN }}
SKILLS_SYNC_APP_CLIENT_ID: ${{ secrets.SKILLS_SYNC_APP_CLIENT_ID }}
SKILLS_SYNC_APP_PRIVATE_KEY: ${{ secrets.SKILLS_SYNC_APP_PRIVATE_KEY }}
with:
capture-all-traces: ${{ inputs.capture_all_traces || false }}