diff --git a/.woodpecker/1-build-check.yml b/.woodpecker/1-build-check-binary.yml similarity index 58% rename from .woodpecker/1-build-check.yml rename to .woodpecker/1-build-check-binary.yml index 2ad3908..61e4fdf 100644 --- a/.woodpecker/1-build-check.yml +++ b/.woodpecker/1-build-check-binary.yml @@ -1,20 +1,21 @@ +matrix: + GO_GOOS: + - linux + - windows + GO_GOARCH: + - amd64 + - arm64 + steps: - - name: test/build-binary/linux-amd64 + - name: test/build-binary/${GO_GOOS}-${GO_GOARCH} image: golang:1.24.2 environment: + GOOS: ${GO_GOOS} + GOARCH: ${GO_GOARCH} I_PACKAGE: "git.hackmi.ch/Phil/goshorly/utils" CGO_ENABLED: 0 commands: - - export CI_COMMIT_SHA=${CI_COMMIT_SHA} - - go build -a -installsuffix cgo -ldflags=" -X $I_PACKAGE.CI_COMMIT_SHA=$CI_COMMIT_SHA -X $I_PACKAGE.CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH -X $I_PACKAGE.CI_COMMIT_TAG=$CI_COMMIT_TAG" -o app . - - - name: test/build-docker/linux-amd64 - image: woodpeckerci/plugin-docker-buildx:5.2.2 - settings: - dry-run: true - repo: git.hackmi.ch/phil/goshorly - registry: git.hackmi.ch - platforms: linux/amd64 + - go build -a -installsuffix cgo -ldflags=" -X $I_PACKAGE.CI_COMMIT_SHA=$CI_COMMIT_SHA -X $I_PACKAGE.CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH -X $I_PACKAGE.CI_COMMIT_TAG=$CI_COMMIT_TAG" -o app-${GO_GOOS}-${GO_GOARCH} . when: - event: [push, cron] diff --git a/.woodpecker/1-build-check-docker.yml b/.woodpecker/1-build-check-docker.yml new file mode 100644 index 0000000..66d3de9 --- /dev/null +++ b/.woodpecker/1-build-check-docker.yml @@ -0,0 +1,24 @@ +matrix: + GO_GOOS: + - linux + GO_GOARCH: + - amd64 + - arm64 + +steps: + - name: test/build-docker/${GO_GOOS}-${GO_GOARCH} + image: woodpeckerci/plugin-docker-buildx:5.2.2 + settings: + platforms: ${GO_GOOS}/${GO_GOARCH} + dry-run: true + purge: true + build_args: + - I_PACKAGE="git.hackmi.ch/Phil/goshorly/utils" + +when: + - event: [push, cron] + branch: [main, develop] + - event: pull_request + +depends_on: + - 0-pre \ No newline at end of file diff --git a/.woodpecker/10-build-main.yml b/.woodpecker/10-build-main.yml index 15edbcb..1362da1 100644 --- a/.woodpecker/10-build-main.yml +++ b/.woodpecker/10-build-main.yml @@ -5,7 +5,6 @@ steps: I_PACKAGE: "git.hackmi.ch/Phil/goshorly/utils" CGO_ENABLED: 0 commands: - - export CI_COMMIT_SHA=${CI_COMMIT_SHA} - go build -a -installsuffix cgo -ldflags=" -X $I_PACKAGE.CI_COMMIT_SHA=$CI_COMMIT_SHA -X $I_PACKAGE.CI_COMMIT_BRANCH=$CI_COMMIT_BRANCH -X $I_PACKAGE.CI_COMMIT_TAG=$CI_COMMIT_TAG" -o app . when: - event: [push, cron] @@ -17,10 +16,12 @@ steps: I_PACKAGE: "git.hackmi.ch/Phil/goshorly/utils" CGO_ENABLED: 0 settings: - platforms: linux/amd64,linux/arm/v6,linux/arm64/v8 + platforms: linux/amd64,linux/arm64 repo: git.hackmi.ch/phil/goshorly registry: git.hackmi.ch tags: dev + build_args: + - I_PACKAGE="git.hackmi.ch/Phil/goshorly/utils" username: from_secret: reg-user password: @@ -31,16 +32,6 @@ steps: - event: [push, cron] branch: main -services: - docker-daemon: - image: docker:28.0-dind-rootless - commands: - - dockerd --tls=false --host=tcp://0.0.0.0:2376 - privileged: true - when: - - event: [push, cron] - branch: main - when: - event: [push, cron] branch: main diff --git a/Dockerfile b/Dockerfile index cc888e7..be6c48f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,9 @@ FROM golang:1.24.2-alpine as builder +ARG I_PACKAGE + +ENV I_PACKAGE=$I_PACKAGE + RUN apk add --no-cache git make build-base WORKDIR /go/src/git.hackmi.ch/goshorly