Compare commits

..

4 Commits

Author SHA1 Message Date
publish-runtime cascade
9f3fbebcf7 chore: pin runtime to 0.1.131 (publish-runtime cascade)
All checks were successful
CI / validate (push) Successful in 4m43s
Co-Authored-By: publish-runtime cascade <publish-runtime@moleculesai.app>
2026-05-11 21:09:51 +00:00
publish-runtime cascade
5dcb1ec45a chore: pin runtime to 0.1.999 (publish-runtime cascade)
All checks were successful
CI / validate (push) Successful in 6m3s
Co-Authored-By: publish-runtime cascade <publish-runtime@moleculesai.app>
2026-05-11 20:53:52 +00:00
3d96274d82 Merge pull request 'chore(ci): adopt .runtime-version push-mode cascade signal' (#1) from chore/runtime-version-file into main
All checks were successful
CI / validate (push) Successful in 3m12s
2026-05-07 10:12:49 +00:00
devops-engineer
aca6e8b0e0 chore(ci): adopt .runtime-version push-mode cascade signal
All checks were successful
CI / validate (pull_request) Successful in 10m11s
CI / validate (push) Successful in 10m36s
Background: post-2026-05-06 SCM is Gitea, not GitHub. Gitea 1.22.6 has
no repository_dispatch / workflow_dispatch trigger API (empirically
verified across 6 candidate paths in molecule-core#20 issuecomment-913).
The molecule-core/publish-runtime.yml cascade therefore cannot fire
templates via curl-dispatch — pivots to push-mode instead.

This PR is the consumer side of that pivot:

- .runtime-version file at repo root — single line, plain version
  string. Currently 0.1.129 (latest published as of 2026-05-07).
  publish-runtime overwrites this on each cascade.

- publish-image.yml gains a resolve-version job that reads the file
  and forwards the value to the reusable build workflow as the
  third-priority source in the resolution chain.

Sequencing context: this PR (and 8 sibling PRs to the other template
repos) MUST land before molecule-core#20 v2 is merged.

Refs molecule-core#14, molecule-core#20.
2026-05-07 03:08:22 -07:00
4 changed files with 28 additions and 26 deletions

View File

@ -25,7 +25,33 @@ permissions:
packages: write
jobs:
# The `.runtime-version` file is the push-mode cascade signal post-
# 2026-05-06: when molecule-core/publish-runtime.yml ships a new
# version to PyPI, it does NOT call repository_dispatch (Gitea 1.22.6
# has no such endpoint — empirically verified molecule-core#20).
# Instead it git-pushes an updated `.runtime-version` to each template,
# which trips this workflow's `on: push: branches: [main]` trigger.
# This job reads that file and forwards the version to the reusable
# build workflow.
resolve-version:
runs-on: ubuntu-latest
timeout-minutes: 2
outputs:
version: ${{ steps.read.outputs.version }}
steps:
- uses: actions/checkout@v4
- id: read
run: |
if [ -f .runtime-version ]; then
v="$(head -n1 .runtime-version | tr -d '[:space:]')"
echo "version=$v" >> "$GITHUB_OUTPUT"
echo "resolved runtime version: $v"
else
echo "no .runtime-version file present — falling through to Dockerfile default"
fi
publish:
needs: resolve-version
uses: Molecule-AI/molecule-ci/.github/workflows/publish-template-image.yml@main
secrets: inherit
with:
@ -33,4 +59,4 @@ jobs:
# version PyPI just published. Forwarded as a docker --build-arg
# so the cache key changes per-version and pip install resolves
# freshly. Empty on push/PR — falls back to requirements.txt pin.
runtime_version: ${{ github.event.client_payload.runtime_version || inputs.runtime_version || '' }}
runtime_version: ${{ github.event.client_payload.runtime_version || inputs.runtime_version || needs.resolve-version.outputs.version || '' }}

View File

@ -1,22 +0,0 @@
name: Secret scan
# Calls the canonical reusable workflow in molecule-core. Defense
# against the #2090-class leak (a hosted-agent commit slipping a
# credential-shaped string into a PR). Pattern set lives in
# molecule-core so we do not maintain a parallel copy here.
#
# Pinned to @staging because that is the active default branch on the
# upstream repo (main lags behind via the staging-promotion workflow).
# Updates ride along automatically as the upstream regex set evolves.
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches: [main, staging, master]
merge_group:
types: [checks_requested]
jobs:
secret-scan:
uses: Molecule-AI/molecule-core/.github/workflows/secret-scan.yml@staging

1
.runtime-version Normal file
View File

@ -0,0 +1 @@
0.1.131

View File

@ -22,6 +22,3 @@ github://Molecule-AI/template-deepagents
## License
Business Source License 1.1 — © Molecule AI.
## See also
For the multi-agent architecture (orchestrator + task agents, file-based coordination via `/workspace/agent-shared/`), the full `config.yaml` schema, environment variables, skill loading rules, dev setup, and release process, see [`CLAUDE.md`](CLAUDE.md).