Problem
cilock-action depends on rookery modules via replace directives pointing to ../rookery. When rookery cuts a new release, cilock-action must:
- Update
go.mod replace directives to point at the tagged version (or keep local for monorepo dev)
- Rebuild binaries against the new rookery
- Cut its own release
This is currently manual.
Proposed solution
Add a GitHub Actions workflow to cilock-action that triggers on rookery releases:
on:
repository_dispatch:
types: [rookery-release]
workflow_dispatch:
inputs:
rookery_version:
description: 'Rookery version to build against'
required: true
Rookery side
Add a step to the rookery release workflow that dispatches to cilock-action:
- name: Trigger cilock-action rebuild
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.CILOCK_ACTION_PAT }}
repository: aflock-ai/cilock-action
event-type: rookery-release
client-payload: '{"version": "${{ steps.version.outputs.version }}"}'
cilock-action side
The triggered workflow:
- Checks out cilock-action + rookery at the specified tag
- Runs tests
- Creates a PR bumping the rookery dependency version
- Auto-merges if CI passes
- Tags and releases cilock-action with matching version
Acceptance criteria
Problem
cilock-action depends on rookery modules via
replacedirectives pointing to../rookery. When rookery cuts a new release, cilock-action must:go.modreplace directives to point at the tagged version (or keep local for monorepo dev)This is currently manual.
Proposed solution
Add a GitHub Actions workflow to cilock-action that triggers on rookery releases:
Rookery side
Add a step to the rookery release workflow that dispatches to cilock-action:
cilock-action side
The triggered workflow:
Acceptance criteria
workflow_dispatchfor ad-hoc builds