Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
4069e76
chore(vendor): bump tinybus submodule
senamakel Oct 17, 2026
2051f7b
chore(vendor): bump tinybus submodule
senamakel Oct 17, 2026
ad1e708
chore(workspace): add tinydocs-client to workspace members
senamakel Oct 17, 2026
791ee8f
feat(tinydocs-client): add client crate with recording broker test
senamakel Oct 17, 2026
c311129
test(tinydocs-client): cover malformed replies and digest rejection
senamakel Oct 17, 2026
29e1db7
test(tinydocs-client): cover text-only pptx generation without an upl…
senamakel Oct 17, 2026
2db2188
test(client): cover invalid input on read output
senamakel Oct 17, 2026
e5d0a66
test(client): cover render failure releasing held output
senamakel Oct 17, 2026
43ff26b
docs(tinydocs-client): document detailed streaming and object client …
senamakel Oct 17, 2026
8e6d275
docs(tinydocs-client): clarify client ownership in module docs
senamakel Oct 17, 2026
8b332bc
chore(vendor): bump tinybus submodule
senamakel Oct 17, 2026
d7154cd
chore(tinydocs-client): bump tinybus to 0.2.2
senamakel Oct 17, 2026
3fc02f2
test(tinydocs-client): cover streamed calls that fail before reading …
senamakel Oct 17, 2026
2f9a74a
chore(deps): bump tinybus to 0.2.2
senamakel Oct 17, 2026
1eec570
test(tinydocs-client): rename fixture helper to test_fixture
senamakel Oct 17, 2026
2674417
test: rename fixture helper call in recording broker test
senamakel Oct 17, 2026
921bca0
feat(tinydocs-client): add TinyDocsClient and DocumentCallError
senamakel Oct 17, 2026
c2cc4df
test(client): cover disabled modules, invalid text output, and releas…
senamakel Oct 17, 2026
8642259
test(client): cover release deadline and error redaction
senamakel Oct 17, 2026
b4199a0
fix(client): remove release timeout around output release calls
senamakel Oct 17, 2026
d8aefbf
fix(tinydocs-client): redact module messages from Display output
senamakel Oct 17, 2026
05b147b
docs(tinydocs-client): document DocumentCallError redaction behaviour
senamakel Oct 17, 2026
67ea197
docs(tinydocs-client): clarify best-effort output release on cancella…
senamakel Oct 17, 2026
5ce71f2
chore(tinydocs-client): fix clippy lints and doc wording
senamakel Oct 17, 2026
240aebd
test(tinydocs-client): split recording broker fixture and module wire…
senamakel Oct 17, 2026
afe1410
test(client): scope fixture state locks to avoid holding them across …
senamakel Oct 17, 2026
edebe99
test(tinydocs-client): scope fixture state lock in release error test
senamakel Oct 17, 2026
8c0c760
test(client): split held output release tests into focused cases
senamakel Oct 17, 2026
787e738
test(client): cover peer handover during held output
senamakel Oct 18, 2026
a049f59
test(tinydocs-client): remove unused handover access fixture
senamakel Oct 18, 2026
0f2d0e5
test(client): cover alias handover after generation retains output
senamakel Oct 18, 2026
1b24b14
test(recording_broker): consolidate peer-hop assertions into single c…
senamakel Oct 18, 2026
2b4e263
test(recording_broker): cover per-member pptx output overrides
senamakel Oct 18, 2026
dc45b7e
test(recording_broker): correct expected bytes in peer handover tests
senamakel Oct 18, 2026
6524c89
chore(vendor): bump tinybus submodule
senamakel Oct 18, 2026
638408f
refactor(client): pin module binding for the duration of each call
senamakel Oct 18, 2026
fce0500
chore(deps): bump tinydocs to 0.2.5 and tinybus to 0.3.2
senamakel Oct 18, 2026
ce05a68
test(recording-broker): cover alias handover for text and markdown me…
senamakel Oct 18, 2026
87001d1
test(tinydocs-client): cover held outputs across peer handover
senamakel Oct 18, 2026
d50506d
docs(tinydocs-client): clarify per-peer binding for held outputs
senamakel Oct 18, 2026
2338658
ci(release): bump reusable release workflow pin
senamakel Oct 18, 2026
5f5e7f5
feat(ci): add reviewed-epic release mode to release workflow
senamakel Oct 18, 2026
e49eeb8
chore(deps): bump tinybus to 0.3.2 and tinydocs to 0.2.5
senamakel Oct 18, 2026
7cc8fad
refactor(tinydocs-client): make output_client an associated function
senamakel Oct 18, 2026
84b3890
test(client): add timeout to peer handover fixture client
senamakel Oct 18, 2026
55b388d
test(tinydocs-client): assert recorded call count is zero
senamakel Oct 18, 2026
9af9733
test(client): cover incompatible contract classification
senamakel Oct 18, 2026
87bec2d
test(tinydocs-client): split incompatible contract test into per-path…
senamakel Oct 18, 2026
ce2d617
fix(client): treat incompatible contract as unavailable
senamakel Oct 18, 2026
26c5330
test(tinydocs-client): expect unavailable for malformed typed stream …
senamakel Oct 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 51 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ on:
description: Existing version tag (vX.Y.Z) committed through a reviewed PR
type: string
required: true
release_mode:
description: Use the ordinary main path or reviewed-epic release admission

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Document the reviewed-epic exception in the release contract

When maintainers use the new reviewed-epic admission path rather than the ordinary main path, the repository release instructions still state that Release checks every tagged commit is on main and document no reviewed_pr procedure. That leaves the operational contract contradictory for this high-impact path; update the release runbook in the same change to state the reviewed-epic exception and its required validation.

AGENTS.md reference: AGENTS.md:L245-L248

Useful? React with 👍 / 👎.

type: choice
options: [main, reviewed-epic]
default: main
required: true
reviewed_pr:
description: Positive canonical PR number whose merge commit the tag names (reviewed-epic mode only)
type: number
required: false
push:
tags: ['v*']
permissions: {}
Expand All @@ -18,11 +28,15 @@ jobs:
outputs:
tag: ${{ steps.tag.outputs.tag }}
version: ${{ steps.tag.outputs.version }}
release_mode: ${{ steps.tag.outputs.release_mode }}
reviewed_pr: ${{ steps.tag.outputs.reviewed_pr }}
steps:
- id: tag
shell: bash
env:
TAG: ${{ github.event_name == 'push' && github.ref_name || inputs.tag }}
RELEASE_MODE: ${{ github.event_name == 'push' && 'main' || inputs.release_mode }}
REVIEWED_PR: ${{ inputs.reviewed_pr }}
run: |
set -euo pipefail
[[ "$TAG" =~ ^v[0-9]+\.[0-9]+\.[0-9]+([+-][0-9A-Za-z.-]+)?$ ]] || {
Expand All @@ -31,8 +45,30 @@ jobs:
}
echo "tag=$TAG" >> "$GITHUB_OUTPUT"
echo "version=${TAG#v}" >> "$GITHUB_OUTPUT"
[[ "$RELEASE_MODE" == main || "$RELEASE_MODE" == reviewed-epic ]] || {
echo "release_mode must be main or reviewed-epic" >&2
exit 2
}
if [[ "$RELEASE_MODE" == reviewed-epic ]]; then
[[ "$REVIEWED_PR" =~ ^[1-9][0-9]*$ ]] || {
echo "reviewed_pr must be a positive integer in reviewed-epic mode" >&2
exit 2
}
else
[[ -z "$REVIEWED_PR" || "$REVIEWED_PR" == 0 ]] || {
echo "reviewed_pr is only valid in reviewed-epic mode" >&2
exit 2
}
REVIEWED_PR=""
fi
{
echo "release_mode=$RELEASE_MODE"
# The reusable workflow input is numeric; zero is the ordinary-path sentinel.
echo "reviewed_pr=${REVIEWED_PR:-0}"
} >> "$GITHUB_OUTPUT"
source-packages:
needs: resolve
if: needs.resolve.outputs.release_mode == 'main'
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -59,12 +95,26 @@ jobs:
if-no-files-found: error
module-release:
needs: [resolve, source-packages]
if: needs.resolve.outputs.release_mode == 'main'
permissions:
contents: write
uses: tinyhumansai/.github/.github/workflows/module-release.yml@4adc1080fb495098e7af1aade82ed7e6e3c69bb7
uses: tinyhumansai/.github/.github/workflows/module-release.yml@1e28317c435a9c714002199e65d18a1067fa5777
with:
tag: ${{ needs.resolve.outputs.tag }}
version: ${{ needs.resolve.outputs.version }}
module-crate: tinydocs-module
extra-packaged-files: '["docs/specs/tinybus-module.md"]'
source-artifact: source-packages
module-reviewed-epic-release:
needs: resolve
if: needs.resolve.outputs.release_mode == 'reviewed-epic'
permissions:
contents: write
pull-requests: read
checks: read
actions: read
uses: tinyhumansai/.github/.github/workflows/module-reviewed-epic-release.yml@1e28317c435a9c714002199e65d18a1067fa5777
with:
tag: ${{ needs.resolve.outputs.tag }}
version: ${{ needs.resolve.outputs.version }}
reviewed-pr: ${{ fromJSON(needs.resolve.outputs.reviewed_pr || '0') }}
Loading
Loading