mirror of
https://github.com/crazy-max/diun.git
synced 2025-12-21 13:23:09 +01:00
enable golangci-lint for supported platforms
This commit is contained in:
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -40,6 +40,8 @@ jobs:
|
||||
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
GOLANGCI_LINT_MULTIPLATFORM: 1
|
||||
needs:
|
||||
- prepare
|
||||
strategy:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
run:
|
||||
timeout: 10m
|
||||
timeout: 30m
|
||||
build-tags:
|
||||
- containers_image_openpgp
|
||||
- exclude_graphdriver_btrfs
|
||||
|
||||
@@ -12,6 +12,10 @@ variable "GITHUB_REF" {
|
||||
default = ""
|
||||
}
|
||||
|
||||
variable "GOLANGCI_LINT_MULTIPLATFORM" {
|
||||
default = null
|
||||
}
|
||||
|
||||
target "_common" {
|
||||
args = {
|
||||
GO_VERSION = GO_VERSION
|
||||
@@ -131,6 +135,20 @@ target "lint" {
|
||||
dockerfile = "./hack/lint.Dockerfile"
|
||||
target = "lint"
|
||||
output = ["type=cacheonly"]
|
||||
platforms = GOLANGCI_LINT_MULTIPLATFORM != null ? [
|
||||
"darwin/amd64",
|
||||
"darwin/arm64",
|
||||
"linux/amd64",
|
||||
"linux/arm/v5",
|
||||
"linux/arm/v6",
|
||||
"linux/arm/v7",
|
||||
"linux/arm64",
|
||||
"linux/ppc64le",
|
||||
"linux/riscv64",
|
||||
"linux/s390x",
|
||||
"windows/amd64",
|
||||
"windows/arm64"
|
||||
] : []
|
||||
}
|
||||
|
||||
target "vendor-validate" {
|
||||
|
||||
@@ -1,17 +1,22 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG GO_VERSION="1.23"
|
||||
ARG XX_VERSION="1.6.1"
|
||||
ARG ALPINE_VERSION="3.21"
|
||||
ARG GOLANGCI_LINT_VERSION="v1.62"
|
||||
|
||||
FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS base
|
||||
FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx
|
||||
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS base
|
||||
ENV GOFLAGS="-buildvcs=false"
|
||||
RUN apk add --no-cache gcc linux-headers musl-dev
|
||||
COPY --from=xx --link / /
|
||||
WORKDIR /src
|
||||
|
||||
FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint
|
||||
FROM --platform=$BUILDPLATFORM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint
|
||||
FROM base AS lint
|
||||
ARG TARGETPLATFORM
|
||||
RUN --mount=type=bind,target=. \
|
||||
--mount=type=cache,target=/root/.cache \
|
||||
--mount=type=cache,target=/root/.cache,id=lint-cache-$TARGETPLATFORM \
|
||||
--mount=from=golangci-lint,source=/usr/bin/golangci-lint,target=/usr/bin/golangci-lint \
|
||||
xx-go --wrap && \
|
||||
golangci-lint run ./...
|
||||
|
||||
Reference in New Issue
Block a user