Files
ipcr-forge/.github/workflows/image.yml
T
Worph 98ff2f5783 Rename the bridge to the forge service; this repository is the add-on
- bridge/ → forge/, module and binary ipcr-forge, image ghcr.io/yundera/ipcr-forge
  (was ipcr-forge-bridge); releases are plain vX.Y.Z tags (workflow image.yml)
- data folders $AppID/bridge/{state,secrets} → $AppID/forge/..., in-container /forge
- docs link to the engine (Yundera/ipcr) instead of relative paths; README
2026-10-05 13:21:11 +00:00

63 lines
1.8 KiB
YAML

name: image
# IPCR Forge's service image (forge/): Gitea → Radicle mirror, the forge's page and admin, the
# staging gate. ghcr.io/yundera/ipcr-forge; a `vX.Y.Z` tag publishes X.Y.Z.
on:
push:
branches: [main]
tags: ["v*"]
paths: ["forge/**", ".github/workflows/image.yml"]
pull_request:
paths: ["forge/**", ".github/workflows/image.yml"]
workflow_dispatch:
permissions:
contents: read
packages: write
env:
IMAGE: ghcr.io/yundera/ipcr-forge
jobs:
vet:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: forge/go.mod
- run: test -z "$(gofmt -l .)" && go vet ./... && go test ./...
working-directory: forge
image:
needs: vet
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
if: github.event_name != 'pull_request'
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.IMAGE }}
tags: |
type=semver,pattern={{version}}
type=ref,event=branch
type=sha
# amd64 only: the Radicle CLI is fetched as its x86_64 release, and the Forge listing is
# amd64 only.
- uses: docker/build-push-action@v6
with:
context: forge
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: VERSION=${{ steps.meta.outputs.version }}
cache-from: type=gha,scope=forge
cache-to: type=gha,mode=max,scope=forge