Builder Image v3.7.1
Main rule
- build plugins in
bavix/gripmock:<tag>-builder - run GripMock in
bavix/gripmock:<tag> - always keep the same
<tag>
This is required because Go plugins are sensitive to toolchain and platform differences (plugin.Open).
Published images
For each release tag <tag>:
bavix/gripmock:<tag>bavix/gripmock:<tag>-builder
Same tags are published to ghcr.io/bavix/gripmock.
CI behavior
Dockerfile.builderbuilds and publishes:<tag>-builderDockerfilebuilds and publishes:<tag>- runtime build uses
BUILDER_IMAGEpinned by builder digest from the same pipeline run
This keeps runtime and builder strictly aligned.
Usage
bash
docker run --rm \
-v "$PWD":/work \
-w /work \
bavix/gripmock:v3.7.1-builder \
sh -lc 'go build -buildmode=plugin -o ./plugins/myplugin.so ./cmd/myplugin'bash
docker run --rm \
-p 4770:4770 -p 4771:4771 \
-v "$PWD/plugins":/plugins \
-v "$PWD/proto":/proto \
bavix/gripmock:v3.7.1 \
--plugins=/plugins/myplugin.so /proto/service.protoIf plugin does not load
- verify runtime and builder use the same base tag
- rebuild plugin in matching
:<tag>-builder - verify architecture (
amd64/arm64)