Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/notify-umbrella.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# branches: [main]
# jobs:
# notify:
# uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
# uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
# secrets:
# pr_bot_key: ${{ secrets.PR_BOT_KEY }}
#
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ and trailer tools, the git hooks, the org invariants block, the issue forms and
workflows, and a Claude Code plugin with the generic skills, agents and hooks. Every marola repo
consumes it at a pinned version, and its own AGENTS.md says which pieces it opts out of.

**Status:** this is v0.10.0; each repo pins its own version. Changes per release are in
**Status:** this is v0.10.1; each repo pins its own version. Changes per release are in
[CHANGELOG.md](https://github.com/marola-dev/marola-devkit/blob/main/CHANGELOG.md).

## Try it

```bash
nix run github:marola-dev/marola-devkit/v0.10.0#docs-lint -- --self-test # any tool, no checkout
nix run github:marola-dev/marola-devkit/v0.10.1#docs-lint -- --self-test # any tool, no checkout
nix develop # in a checkout: every tool on PATH, plus the lint toolchain
just quality # this repo's gates
claude --plugin-dir plugins/marola-devkit # the plugin, from this checkout
Expand Down Expand Up @@ -83,7 +83,7 @@ The vendored skills are pinned in `plugins/marola-devkit/skills/skills.lock`

```nix
inputs.marola-devkit = {
url = "github:marola-dev/marola-devkit/v0.10.0";
url = "github:marola-dev/marola-devkit/v0.10.1";
inputs.nixpkgs.follows = "nixpkgs";
};

Expand All @@ -103,7 +103,7 @@ import? '.devkit/devkit.just'

A repo that defines a recipe with the same name needs `set allow-duplicate-recipes`.

Each tool is also a flake app: `nix run github:marola-dev/marola-devkit/v0.10.0#uprd`.
Each tool is also a flake app: `nix run github:marola-dev/marola-devkit/v0.10.1#uprd`.

**Git hooks** are opt-in: `git config core.hooksPath .devkit/.githooks`. The contract a consuming
repo implements is two recipes in its own justfile:
Expand Down Expand Up @@ -132,7 +132,7 @@ working exactly as before.
{
"extraKnownMarketplaces": {
"marola-devkit": {
"source": { "source": "github", "repo": "marola-dev/marola-devkit", "ref": "v0.10.0" }
"source": { "source": "github", "repo": "marola-dev/marola-devkit", "ref": "v0.10.1" }
}
},
"enabledPlugins": { "marola-devkit@marola-devkit": true }
Expand Down Expand Up @@ -203,9 +203,9 @@ One caller, needing a second checkout of this repo for its own scripts:
```yaml
jobs:
agents-check:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
```

This repo calls five of them on its own pull requests (`python-ci`, `static-ci` and
Expand Down Expand Up @@ -235,12 +235,12 @@ on:
jobs:
gemini:
if: github.event.requested_team.slug == 'gemini'
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
secrets: # not `inherit`: merge-key-check rejects it in a repo that holds the merge key
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
PR_BOT_KEY: ${{ secrets.PR_BOT_KEY }}
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
check-command: "" # a fast gate that needs no Nix, e.g. node scripts/site_check.js
```

Expand Down
36 changes: 18 additions & 18 deletions docs/4-reference_workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ those if it wants them.
```yaml
jobs:
build-test:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
```

| Input | Default | Notes |
Expand All @@ -56,7 +56,7 @@ Ruff check + format, then a caller-supplied newline list of self-test commands (
```yaml
jobs:
python-ci:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
self-test-commands: |
python3 scripts/release.py --self-test
Expand Down Expand Up @@ -89,7 +89,7 @@ with a justfile:
```yaml
jobs:
static-ci:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
hadolint-files: |
Dockerfile
Expand Down Expand Up @@ -130,7 +130,7 @@ on:
branches: [main]
jobs:
notify:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
secrets:
pr_bot_key: ${{ secrets.PR_BOT_KEY }}
```
Expand Down Expand Up @@ -168,9 +168,9 @@ on:
workflow_dispatch:
jobs:
sync:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
```

| Input | Default | Notes |
Expand Down Expand Up @@ -204,9 +204,9 @@ Compares this repo's `AGENTS.md` invariants block against the pinned devkit's `a
```yaml
jobs:
agents-check:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
```

| Input | Default | Notes |
Expand Down Expand Up @@ -244,11 +244,11 @@ on:
branches: [main]
jobs:
api-docs:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
permissions:
contents: write
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
```

The calling job needs `permissions: contents: write` even though only the `publish` sub-job uses
Expand Down Expand Up @@ -285,9 +285,9 @@ on:
types: [opened, reopened, ready_for_review, synchronize, labeled, unlabeled]
jobs:
fill:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
```

| Input | Default | Notes |
Expand Down Expand Up @@ -317,7 +317,7 @@ on:
types: [closed]
jobs:
cancel:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
```

No inputs, no secrets. Uses the default `GITHUB_TOKEN` (`actions: write`, declared in the
Expand Down Expand Up @@ -356,12 +356,12 @@ on:
jobs:
gemini:
if: github.event.requested_team.slug == 'gemini'
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
secrets: # not `inherit`: merge-key-check rejects it in a repo that holds the merge key
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
PR_BOT_KEY: ${{ secrets.PR_BOT_KEY }}
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
check-command: "" # e.g. node scripts/site_check.js
```

Expand Down Expand Up @@ -399,9 +399,9 @@ permissions:
pull-requests: write
jobs:
update:
uses: marola-dev/marola-devkit/.github/workflows/[email protected].0
uses: marola-dev/marola-devkit/.github/workflows/[email protected].1
with:
devkit-ref: v0.10.0
devkit-ref: v0.10.1
secrets:
pr_bot_key: ${{ secrets.PR_BOT_KEY }}
```
Expand All @@ -420,7 +420,7 @@ when `pr_bot_key` is absent. With neither, the job behaves as before.

## bot-token (composite action)

`uses: marola-dev/marola-devkit/.github/actions/[email protected].0` mints an installation token for
`uses: marola-dev/marola-devkit/.github/actions/[email protected].1` mints an installation token for
`marola-pr-bot` or `marola-merge-bot` on named `marola-dev` repos, and points git at that bot's
identity for the rest of the job (MIP-0086 §5.4). A composite action cannot read secrets, so the
caller passes `app-id` (`vars.PR_BOT_APP_ID` or `vars.MERGE_BOT_APP_ID`) and `private-key`
Expand Down
2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
# find lib/, fixtures/, .github/labels.yml and agents/invariants.md relative to themselves.
devkit = pkgs.stdenvNoCC.mkDerivation {
pname = "marola-devkit";
version = "0.10.0";
version = "0.10.1";
src = lib.cleanSource self;
nativeBuildInputs = [ pkgs.makeWrapper ];
buildInputs = [ pkgs.bash python ];
Expand Down
2 changes: 1 addition & 1 deletion plugins/marola-devkit/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "marola-devkit",
"version": "0.10.0",
"version": "0.10.1",
"description": "MIP and issue-flow skills, the MIP reviewer agents, and the format/stop/session hooks shared by every marola repo (MIP-0070)",
"author": {
"name": "marola-dev"
Expand Down
Loading