mirror of
https://github.com/crazy-max/diun.git
synced 2025-12-21 21:33:22 +01:00
Merge pull request #1290 from crazy-max/lint-multi
enable golangci-lint for supported platforms
This commit is contained in:
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -45,6 +45,8 @@ jobs:
|
|||||||
|
|
||||||
validate:
|
validate:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GOLANGCI_LINT_MULTIPLATFORM: 1
|
||||||
needs:
|
needs:
|
||||||
- prepare
|
- prepare
|
||||||
strategy:
|
strategy:
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
run:
|
run:
|
||||||
timeout: 10m
|
timeout: 30m
|
||||||
build-tags:
|
build-tags:
|
||||||
- containers_image_openpgp
|
- containers_image_openpgp
|
||||||
- exclude_graphdriver_btrfs
|
- exclude_graphdriver_btrfs
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ variable "GITHUB_REF" {
|
|||||||
default = ""
|
default = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
variable "GOLANGCI_LINT_MULTIPLATFORM" {
|
||||||
|
default = null
|
||||||
|
}
|
||||||
|
|
||||||
target "_common" {
|
target "_common" {
|
||||||
args = {
|
args = {
|
||||||
GO_VERSION = GO_VERSION
|
GO_VERSION = GO_VERSION
|
||||||
@@ -131,6 +135,20 @@ target "lint" {
|
|||||||
dockerfile = "./hack/lint.Dockerfile"
|
dockerfile = "./hack/lint.Dockerfile"
|
||||||
target = "lint"
|
target = "lint"
|
||||||
output = ["type=cacheonly"]
|
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" {
|
target "vendor-validate" {
|
||||||
|
|||||||
@@ -1,17 +1,22 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
ARG GO_VERSION="1.23"
|
ARG GO_VERSION="1.23"
|
||||||
|
ARG XX_VERSION="1.6.1"
|
||||||
ARG ALPINE_VERSION="3.21"
|
ARG ALPINE_VERSION="3.21"
|
||||||
ARG GOLANGCI_LINT_VERSION="v1.62"
|
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"
|
ENV GOFLAGS="-buildvcs=false"
|
||||||
RUN apk add --no-cache gcc linux-headers musl-dev
|
RUN apk add --no-cache gcc linux-headers musl-dev
|
||||||
|
COPY --from=xx --link / /
|
||||||
WORKDIR /src
|
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
|
FROM base AS lint
|
||||||
|
ARG TARGETPLATFORM
|
||||||
RUN --mount=type=bind,target=. \
|
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 \
|
--mount=from=golangci-lint,source=/usr/bin/golangci-lint,target=/usr/bin/golangci-lint \
|
||||||
|
xx-go --wrap && \
|
||||||
golangci-lint run ./...
|
golangci-lint run ./...
|
||||||
|
|||||||
Reference in New Issue
Block a user