40 lines
1.0 KiB
YAML
40 lines
1.0 KiB
YAML
when:
|
|
- event: push
|
|
branch: main
|
|
|
|
steps:
|
|
- name: build
|
|
image: golang:1.22
|
|
commands:
|
|
- go mod edit -dropreplace gitea.maximumdirect.net/ejr/feedkit
|
|
- go test ./...
|
|
- mkdir -p dist
|
|
- CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o dist/weatherfeeder ./cmd/weatherfeeder
|
|
- |
|
|
cat > Dockerfile.ci <<'EOF'
|
|
FROM alpine:3.19
|
|
RUN adduser -D -H app \
|
|
&& apk add --no-cache ca-certificates
|
|
COPY dist/weatherfeeder /usr/local/bin/weatherfeeder
|
|
USER app
|
|
ENTRYPOINT ["/usr/local/bin/weatherfeeder"]
|
|
EOF
|
|
|
|
- name: publish
|
|
image: woodpeckerci/plugin-kaniko
|
|
settings:
|
|
registry: https://harbor.maximumdirect.net
|
|
repo: build/weatherfeeder
|
|
dockerfile: Dockerfile.ci
|
|
context: .
|
|
tags:
|
|
- ${CI_COMMIT_SHA}
|
|
- latest
|
|
cache: true
|
|
cache-repo: build/weatherfeeder-cache
|
|
username:
|
|
from_secret: HARBOR_ROBOT_USER
|
|
password:
|
|
from_secret: HARBOR_ROBOT_TOKEN
|
|
|