diff --git a/.drone.yml b/.drone.yml index 3412aba..36477ff 100644 --- a/.drone.yml +++ b/.drone.yml @@ -33,6 +33,19 @@ steps: commands: - CGO_ENABLED=0 go build -v ./cmd/invertergui + - name: build-linux-binaries + image: cache.coadcorp.com/library/golang:1.26 + environment: + GOFLAGS: -mod=mod + commands: + - mkdir -p dist + - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o dist/invertergui-linux-amd64 ./cmd/invertergui + - CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -v -o dist/invertergui-linux-arm64 ./cmd/invertergui + when: + event: + - push + - tag + - name: docker-build-validate image: gcr.io/kaniko-project/executor:v1.24.0 commands: @@ -46,11 +59,8 @@ steps: settings: registry: registry.coadcorp.com repo: "registry.coadcorp.com/nathan/invertergui" - dockerfile: Dockerfile + dockerfile: Dockerfile.publish.amd64 platform: "linux/amd64" - build_args: - - TARGETOS=linux - - TARGETARCH=amd64 username: nathan password: from_secret: registry_password @@ -65,11 +75,8 @@ steps: settings: registry: registry.coadcorp.com repo: "registry.coadcorp.com/nathan/invertergui" - dockerfile: Dockerfile + dockerfile: Dockerfile.publish.arm64 platform: "linux/arm64" - build_args: - - TARGETOS=linux - - TARGETARCH=arm64 username: nathan password: from_secret: registry_password @@ -100,11 +107,8 @@ steps: settings: registry: registry.coadcorp.com repo: "registry.coadcorp.com/nathan/invertergui" - dockerfile: Dockerfile + dockerfile: Dockerfile.publish.amd64 platform: "linux/amd64" - build_args: - - TARGETOS=linux - - TARGETARCH=amd64 username: nathan password: from_secret: registry_password @@ -122,11 +126,8 @@ steps: settings: registry: registry.coadcorp.com repo: "registry.coadcorp.com/nathan/invertergui" - dockerfile: Dockerfile + dockerfile: Dockerfile.publish.arm64 platform: "linux/arm64" - build_args: - - TARGETOS=linux - - TARGETARCH=arm64 username: nathan password: from_secret: registry_password @@ -163,11 +164,8 @@ steps: settings: registry: registry.coadcorp.com repo: "registry.coadcorp.com/nathan/invertergui" - dockerfile: Dockerfile + dockerfile: Dockerfile.publish.amd64 platform: "linux/amd64" - build_args: - - TARGETOS=linux - - TARGETARCH=amd64 username: nathan password: from_secret: registry_password @@ -182,11 +180,8 @@ steps: settings: registry: registry.coadcorp.com repo: "registry.coadcorp.com/nathan/invertergui" - dockerfile: Dockerfile + dockerfile: Dockerfile.publish.arm64 platform: "linux/arm64" - build_args: - - TARGETOS=linux - - TARGETARCH=arm64 username: nathan password: from_secret: registry_password diff --git a/Dockerfile.publish.amd64 b/Dockerfile.publish.amd64 new file mode 100644 index 0000000..df3eb88 --- /dev/null +++ b/Dockerfile.publish.amd64 @@ -0,0 +1,8 @@ +FROM scratch + +# Group ID 20 is dialout, needed for tty read/write access +USER 3000:20 +ENV READ_ONLY=false +COPY dist/invertergui-linux-amd64 /bin/invertergui +ENTRYPOINT ["/bin/invertergui"] +EXPOSE 8080 diff --git a/Dockerfile.publish.arm64 b/Dockerfile.publish.arm64 new file mode 100644 index 0000000..0d6b856 --- /dev/null +++ b/Dockerfile.publish.arm64 @@ -0,0 +1,8 @@ +FROM scratch + +# Group ID 20 is dialout, needed for tty read/write access +USER 3000:20 +ENV READ_ONLY=false +COPY dist/invertergui-linux-arm64 /bin/invertergui +ENTRYPOINT ["/bin/invertergui"] +EXPOSE 8080