Skip to content

Commit 16b2ded

Browse files
committed
feat: publish tessl plugins
1 parent 7110b77 commit 16b2ded

8 files changed

Lines changed: 588 additions & 331 deletions

File tree

README.md

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# Tessl Publish Action
22

3-
Detect changed Tessl tiles, derive semantic version bumps from Conventional Commits, review and lint each changed tile, then publish to the Tessl registry. It can also commit the published `tile.json` version bumps back to the repo.
3+
Detect changed Tessl plugins, derive semantic version bumps from Conventional Commits, review and lint each changed plugin, then publish to the Tessl registry. It can also commit the published `.tessl-plugin/plugin.json` version bumps back to the repo.
44

55
The action is implemented in TypeScript with the official GitHub Actions toolkit packages such as `@actions/core`, `@actions/exec`, and `@actions/github`, and is bundled with Vite+ via `vp pack`.
66

77
## What It Does
88

9-
- Publishes only changed tiles on `push`
10-
- Publishes all tiles on `workflow_dispatch`
11-
- Maps changed files back to the nearest owning `tile.json`
9+
- Publishes only changed plugins on `push`
10+
- Publishes all plugins on `workflow_dispatch`
11+
- Maps changed files back to the nearest owning `.tessl-plugin/plugin.json`
1212
- Derives the next bump per tile from commit messages:
1313
- `BREAKING CHANGE:` or `type(scope)!:` -> `major`
1414
- `feat:` -> `minor`
1515
- everything else -> `patch`
16-
- Probes `tessl tile publish --dry-run` and keeps incrementing patch versions until Tessl accepts a free version
17-
- Commits published `tile.json` version bumps back to the current branch by default with `github-actions[bot]` and a skip-CI commit message, or with a caller-provided bot identity
16+
- Probes `tessl plugin publish --dry-run --bump <type>` and publishes with `tessl plugin publish --bump <type>`
17+
- Commits published `.tessl-plugin/plugin.json` version bumps back to the current branch by default with `github-actions[bot]` and a skip-CI commit message, or with a caller-provided bot identity
1818

1919
## Requirements
2020

@@ -38,6 +38,7 @@ on:
3838

3939
permissions:
4040
contents: write
41+
id-token: write
4142

4243
jobs:
4344
publish:
@@ -51,8 +52,8 @@ jobs:
5152
with:
5253
token: ${{ secrets.TESSL_TOKEN }}
5354

54-
- name: Publish changed tiles
55-
uses: uinaf/tessl-publish-action@v2.1.1
55+
- name: Publish changed plugins
56+
uses: uinaf/tessl-publish-action@v2.2.0
5657
with:
5758
review-threshold: "90"
5859
git-author-name: my-release-bot[bot]
@@ -63,27 +64,27 @@ jobs:
6364
6465
## Inputs
6566
66-
| Name | Default | Description |
67-
| ----------------------------- | ----------------------------------------------- | ----------------------------------------------------------------- |
68-
| `working-directory` | `.` | Repository root to operate from |
69-
| `skills-root` | `skills` | Root directory containing tile folders |
70-
| `review-threshold` | `90` | Threshold passed to `tessl skill review --threshold` |
71-
| `dry-run-max-attempts` | `50` | Max version attempts per tile before giving up |
72-
| `publish-all` | `false` | Force publishing all tiles regardless of event diff |
73-
| `commit-version-bumps` | `true` | Commit published `tile.json` version bumps back to the branch |
74-
| `version-bump-commit-message` | `chore: sync published tile versions [skip ci]` | Commit message used for the bot-authored version bump sync commit |
75-
| `git-author-name` | `GIT_AUTHOR_NAME` or `github-actions[bot]` | Git author name for committed version bumps |
76-
| `git-author-email` | `GIT_AUTHOR_EMAIL` or GitHub Actions noreply | Git author email for committed version bumps |
77-
| `git-committer-name` | `GIT_COMMITTER_NAME` or author name | Git committer name for committed version bumps |
78-
| `git-committer-email` | `GIT_COMMITTER_EMAIL` or author email | Git committer email for committed version bumps |
67+
| Name | Default | Description |
68+
| ----------------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------- |
69+
| `working-directory` | `.` | Repository root to operate from |
70+
| `skills-root` | `skills` | Root directory containing plugin folders |
71+
| `review-threshold` | `90` | Threshold passed to `tessl review run --threshold` |
72+
| `dry-run-max-attempts` | `50` | Max version attempts per plugin before giving up |
73+
| `publish-all` | `false` | Force publishing all plugins regardless of event diff |
74+
| `commit-version-bumps` | `true` | Commit published `.tessl-plugin/plugin.json` version bumps back to the branch |
75+
| `version-bump-commit-message` | `chore: sync published plugin versions [skip ci]` | Commit message used for the bot-authored version bump sync commit |
76+
| `git-author-name` | `GIT_AUTHOR_NAME` or `github-actions[bot]` | Git author name for committed version bumps |
77+
| `git-author-email` | `GIT_AUTHOR_EMAIL` or GitHub Actions noreply | Git author email for committed version bumps |
78+
| `git-committer-name` | `GIT_COMMITTER_NAME` or author name | Git committer name for committed version bumps |
79+
| `git-committer-email` | `GIT_COMMITTER_EMAIL` or author email | Git committer email for committed version bumps |
7980

8081
## Outputs
8182

82-
| Name | Description |
83-
| ---------- | --------------------------------------------------------------------------- |
84-
| `tiles` | JSON array of tile directories selected for this run |
85-
| `versions` | JSON object of successfully published tile versions keyed by tile directory |
86-
| `failures` | JSON array of per-tile failures |
83+
| Name | Description |
84+
| ---------- | ----------------------------------------------------------------------------------------------------------- |
85+
| `tiles` | JSON array of plugin directories selected for this run. The output name is kept for backward compatibility. |
86+
| `versions` | JSON object of successfully published plugin versions keyed by plugin directory |
87+
| `failures` | JSON array of per-plugin failures |
8788

8889
## Releasing This Action
8990

action.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
name: Tessl Publish
2-
description: Detect changed Tessl tiles, derive semantic version bumps, review, lint, and publish to Tessl
2+
description: Detect changed Tessl plugins, derive semantic version bumps, review, lint, and publish to Tessl
33
inputs:
44
working-directory:
55
description: Repository root to operate from
66
required: false
77
default: .
88
skills-root:
9-
description: Root directory that contains tile folders
9+
description: Root directory that contains plugin folders
1010
required: false
1111
default: skills
1212
review-threshold:
13-
description: Threshold passed to tessl skill review
13+
description: Threshold passed to tessl review run
1414
required: false
1515
default: "90"
1616
dry-run-max-attempts:
1717
description: Max publish-version attempts per tile
1818
required: false
1919
default: "50"
2020
publish-all:
21-
description: Publish all tiles regardless of event diff
21+
description: Publish all plugins regardless of event diff
2222
required: false
2323
default: "false"
2424
commit-version-bumps:
25-
description: Commit published tile.json version bumps back to the current branch
25+
description: Commit published plugin.json version bumps back to the current branch
2626
required: false
2727
default: "true"
2828
version-bump-commit-message:
29-
description: Commit message to use when pushing published tile.json version bumps
29+
description: Commit message to use when pushing published plugin.json version bumps
3030
required: false
31-
default: "chore: sync published tile versions [skip ci]"
31+
default: "chore: sync published plugin versions [skip ci]"
3232
git-author-name:
3333
description: Git author name for committed version bumps; falls back to GIT_AUTHOR_NAME, then github-actions[bot]
3434
required: false
@@ -47,11 +47,11 @@ inputs:
4747
default: ""
4848
outputs:
4949
tiles:
50-
description: JSON array of tile directories selected for this run
50+
description: JSON array of plugin directories selected for this run
5151
versions:
52-
description: JSON object of published versions keyed by tile directory
52+
description: JSON object of published versions keyed by plugin directory
5353
failures:
54-
description: JSON array of per-tile failures
54+
description: JSON array of per-plugin failures
5555
runs:
5656
using: node24
5757
main: dist/index.cjs

0 commit comments

Comments
 (0)