Drone CI docker package building

This commit is contained in:
WeebDataHoarder
2025-04-07 20:20:22 +02:00
parent 1c2d1e008c
commit cd9343aec6
3 changed files with 65 additions and 13 deletions

4
.dockerignore Normal file
View File

@@ -0,0 +1,4 @@
/.bin
*.gz
*.br
*.zst

View File

@@ -6,6 +6,10 @@ platform:
os: linux
arch: amd64
trigger:
branch:
- master
environment:
CGO_ENABLED: "0"
GOOS: linux
@@ -17,13 +21,17 @@ steps:
commands:
- apk update
- apk add --no-cache git
- go build -v ./cmd/go-away
- mkdir .bin
- go build -v -o ./.bin/go-away ./cmd/go-away
- go build -v -o ./.bin/test-wasm-runtime ./cmd/test-wasm-runtime
- name: test-wasm-success
image: golang:1.22-alpine3.20
depends_on:
- build
commands:
- >
go run ./cmd/test-wasm-runtime -wasm ./embed/challenge/js-pow-sha256/runtime/runtime.wasm
./.bin/test-wasm-runtime -wasm ./embed/challenge/js-pow-sha256/runtime/runtime.wasm
-make-challenge ./embed/challenge/js-pow-sha256/test/make-challenge.json
-make-challenge-out ./embed/challenge/js-pow-sha256/test/make-challenge-out.json
-verify-challenge ./embed/challenge/js-pow-sha256/test/verify-challenge.json
@@ -31,9 +39,11 @@ steps:
- name: test-wasm-fail
image: golang:1.22-alpine3.20
depends_on:
- build
commands:
- >
go run ./cmd/test-wasm-runtime -wasm ./embed/challenge/js-pow-sha256/runtime/runtime.wasm
./.bin/test-wasm-runtime -wasm ./embed/challenge/js-pow-sha256/runtime/runtime.wasm
-make-challenge ./embed/challenge/js-pow-sha256/test/make-challenge.json
-make-challenge-out ./embed/challenge/js-pow-sha256/test/make-challenge-out.json
-verify-challenge ./embed/challenge/js-pow-sha256/test/verify-challenge-fail.json
@@ -47,6 +57,10 @@ platform:
os: linux
arch: amd64
trigger:
branch:
- master
environment:
CGO_ENABLED: "0"
GOOS: linux
@@ -67,6 +81,10 @@ platform:
os: linux
arch: arm64
trigger:
branch:
- master
environment:
CGO_ENABLED: "0"
GOOS: linux
@@ -79,5 +97,35 @@ steps:
- apk update
- apk add --no-cache git
- go build -v ./cmd/go-away
---
kind: pipeline
type: docker
name: publish-docker
steps:
- name: docker
image: plugins/buildx
settings:
registry: git.gammaspectra.live
repo: git.gammaspectra.live/git/go-away
squash: true
compress: true
platform:
- linux/amd64
- linux/arm64
builder_driver: docker-container
auto_tag: true
username:
from_secret: git_username
password:
from_secret: git_password
#trigger:
# event:
# - promote
# target:
# - production
...

View File

@@ -1,7 +1,12 @@
ARG from_builder=golang:1.24-alpine3.21
ARG from=alpine:3.21
FROM ${from_builder} AS build
ARG TARGETPLATFORM
ARG TARGETARCH
ARG TARGETOS
ARG BUILDPLATFORM
FROM --platform=$BUILDPLATFORM ${from_builder} AS build
RUN apk update && apk add --no-cache \
bash \
@@ -10,24 +15,19 @@ RUN apk update && apk add --no-cache \
ENV GOBIN="/go/bin"
ARG GOAWAY_REF="master"
RUN git clone https://git.gammaspectra.live/git/go-away.git /src/go-away
WORKDIR /src/go-away
RUN git reset --hard "${GOAWAY_REF}"
COPY . .
RUN ./build-compress.sh
ENV CGO_ENABLED=0
ENV GOOS=linux
ENV GOARCH=amd64
ENV GOOS=${TARGETOS}
ENV GOARCH=${TARGETARCH}
RUN go build -pgo=auto -v -trimpath -o "${GOBIN}/go-away" ./cmd/go-away
RUN test -e "${GOBIN}/go-away"
FROM ${from}
FROM --platform=$TARGETPLATFORM ${from}
COPY --from=build /go/bin/go-away /bin/go-away