Skip to content

ci: request a dev deploy after publishing - #6

Merged
bajtos merged 1 commit into
mainfrom
claude/auto-pick-docker-versions-5tadan
Aug 21, 2026
Merged

ci: request a dev deploy after publishing#6
bajtos merged 1 commit into
mainfrom
claude/auto-pick-docker-versions-5tadan

Conversation

@bajtos

@bajtos bajtos commented Aug 20, 2026

Copy link
Copy Markdown
Member

The dev stage of Forge Central pins swarf by image digest, so deploying a merge
to main meant reading the digest ghcr.io/fil-forge/swarf:main now names and
editing infra-central by hand. The publish run already knows that digest.

The Container workflow now dispatches a bump-deployed-image event to
fil-forge/infra-central from the prod matrix leg, carrying the digest, the
commit and the pull request it came from. The receiver there opens a pull
request pinning the digest with auto-merge enabled, and infra-central's
Check and deploy workflow runs tofu apply on dev/apps on every
push to its main, so merging that pull request is what deploys.

Only the prod-target image is dispatched — the dev stage runs the stripped
binary, while main-dev carries delve and debugging tools.

Changes

  • .github/workflows/publish-ghcr.yml: id: build on the build step,
    pull-requests: read for resolving the source PR, and three new steps on the
    prod leg — resolve the merged PR URL, mint a fil-forge-bot token scoped to
    infra-central, and POST the dispatch. The digest is shape-checked before it
    is sent.
  • README.md: Container images and Deploying to dev sections.

Requirements

The dispatch runs as the fil-forge-bot GitHub App and needs the
FORGE_BOT_APP_ID variable and the FORGE_BOT_PRIVATE_KEY secret to be
available to this repository. Prod pins stay manual.

Related

@bajtos
bajtos requested a review from alanshaw August 20, 2026 10:15
The dev stage of Forge Central pins swarf by image digest, so a deploy meant
reading the digest ghcr.io/fil-forge/swarf:main now names and editing
infra-central by hand. The publish run already knows that digest.

Dispatch a bump-deployed-image event to fil-forge/infra-central from the
prod matrix leg, carrying the digest, the commit and the pull request it
came from. The receiver there opens a pull request pinning the digest with
auto-merge enabled, and infra-central's "Check and deploy" runs tofu apply on
dev/apps on every push to its main, so merging it is what deploys.

Only the prod-target image is dispatched. The dev stage runs the stripped
binary; main-dev carries delve and debugging tools.

Refs FIL-1051

Signed-off-by: Miroslav Bajtoš <oss@bajtos.net>
Assisted-by: Claude
@bajtos
bajtos force-pushed the claude/auto-pick-docker-versions-5tadan branch from fd6647f to 6671c67 Compare August 20, 2026 10:16
bajtos added a commit to fil-forge/hilt that referenced this pull request Aug 20, 2026
The `Deploying to dev` section added in #41 says HCP Terraform applies
the dev
workspace. infra-central moved off HCP in fil-forge/infra-central#25 —
state
lives in S3 now, and its `Check and deploy` workflow runs `tofu apply`
on
`dev/apps` (after `apply-platform`) on every push to `main`.
fil-forge/infra-central#33 corrected the same wording on that side.

The mechanism this repo relies on is unchanged: merging the receiver's
pull
request is still what deploys. Only the description was wrong.

### Changes

- `README.md`: replace the HCP sentence, and add a `[deploy]` link to
  `check-and-deploy.yml` next to the existing receiver link.

Docs only — no workflow or code changes.

### Context

Found while porting #41 to the remaining Forge Central services, where
the same
sentence had been copied across. Corrected there in the same series:

- fil-forge/sprue#71
- fil-forge/swarf#6
- fil-forge/delegator#28
- fil-forge/piri-signing-service#17
- fil-forge/did-method-plc#1

### Related

- Linear:
[FIL-1051](https://linear.app/filecoin-foundation/issue/FIL-1051)
- Receiver workflow: fil-forge/infra-central#24


---
_Generated by [Claude
Code](https://claude.ai/code/session_01E7ZDwvCHKi6441uN3NCCnP)_
@bajtos
bajtos merged commit d5d1a0a into main Aug 21, 2026
7 checks passed
fil-forge-bot Bot added a commit to fil-forge/infra-central that referenced this pull request Aug 24, 2026
Published from fil-forge/swarf#6

- Digest: `sha256:8599e69bdff335617f473eca6100d901cb1c6c2aa0adf9e4d072e90e357a2071`
- Commit: fil-forge/swarf@d5d1a0a
- Publish run: https://github.com/fil-forge/swarf/actions/runs/32491694738

Merging applies [`terraform/envs/dev/apps`](https://github.com/fil-forge/infra-central/tree/main/terraform/envs/dev/apps) with no further confirmation.
fil-forge-bot Bot added a commit to fil-forge/infra-central that referenced this pull request Aug 24, 2026
Published from fil-forge/swarf#6

- Digest: `sha256:8599e69bdff335617f473eca6100d901cb1c6c2aa0adf9e4d072e90e357a2071`
- Commit: fil-forge/swarf@d5d1a0a
- Publish run: https://github.com/fil-forge/swarf/actions/runs/32491694738

Merging applies [`terraform/envs/dev/apps`](https://github.com/fil-forge/infra-central/tree/main/terraform/envs/dev/apps) with no further confirmation.

Co-authored-by: fil-forge-bot[bot] <318653112+fil-forge-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants