Files
Dwi Siswanto b773ce416a build: publish Docker images with GoReleaser
Build and push the Docker image in the release workflow, and remove the
separate Docker Hub workflow that rebuilt the image after
"🎉 Release Binary" finished.

GoReleaser now builds the image with dockers_v2 from the binaries it
compiles in the same run. The Dockerfile no longer builds subfinder. It
copies $TARGETPLATFORM/subfinder from the GoReleaser build context and
sets OCI labels. dockers_v2 replaces the deprecated dockers and
docker_manifests.

Rename release-binary.yml to release.yml and the workflow to
"🎉 Release", since it now publishes images too. The workflow now logs in
to Docker Hub before projectdiscovery/actions/goreleaser runs. With
release: true, that action already sets up QEMU and Buildx.

Tag images with the release tag, vX.Y, vX and latest. The old workflow
pushed only the release tag and latest.

Disable image builds for snapshot runs in CI, where runners may lack
QEMU. Local snapshot runs still build images.

Removing the old workflow also removes its workflow_dispatch trigger, so
images can no longer be re-pushed without a release run.

Build the 32-bit ARM image for linux/arm/v6 instead of linux/arm.
GoReleaser stores the default GOARM=6 binary under linux/arm/v6, but
buildx resolves linux/arm to arm/v7, where there is no binary. armv7
hosts can still run the arm/v6 image.

Closes #1964

Signed-off-by: Dwi Siswanto <[email protected]>
2026-10-07 20:35:22 +07:00

16 lines
518 B
Docker

FROM alpine:latest
LABEL org.opencontainers.image.authors="ProjectDiscovery"
LABEL org.opencontainers.image.description="Fast passive subdomain enumeration tool."
LABEL org.opencontainers.image.licenses="MIT"
LABEL org.opencontainers.image.title="subfinder"
LABEL org.opencontainers.image.url="https://github.com/projectdiscovery/subfinder"
RUN apk upgrade --no-cache \
&& apk add --no-cache bind-tools ca-certificates
ARG TARGETPLATFORM
COPY $TARGETPLATFORM/subfinder /usr/local/bin/
ENTRYPOINT ["subfinder"]