Merge pull request #451 from docker/ghactions-validate
Refactor validate for GitHub Actionspull/463/head
commit
99ac03f9f3
@ -0,0 +1,38 @@
|
|||||||
|
name: validate
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
|
env:
|
||||||
|
REPO_SLUG_ORIGIN: "moby/buildkit:master"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
validate:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
target:
|
||||||
|
- lint
|
||||||
|
- validate-vendor
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
with:
|
||||||
|
driver-opts: image=${{ env.REPO_SLUG_ORIGIN }}
|
||||||
|
-
|
||||||
|
name: Run
|
||||||
|
run: |
|
||||||
|
make ${{ matrix.target }}
|
@ -0,0 +1,13 @@
|
|||||||
|
ignore: |
|
||||||
|
/vendor
|
||||||
|
|
||||||
|
extends: default
|
||||||
|
|
||||||
|
yaml-files:
|
||||||
|
- '*.yaml'
|
||||||
|
- '*.yml'
|
||||||
|
|
||||||
|
rules:
|
||||||
|
truthy: disable
|
||||||
|
line-length: disable
|
||||||
|
document-start: disable
|
@ -1,10 +1,12 @@
|
|||||||
# syntax=docker/dockerfile:1.0-experimental
|
# syntax=docker/dockerfile:1.0-experimental
|
||||||
|
|
||||||
FROM golang:1.13-alpine
|
FROM golang:1.13-alpine
|
||||||
RUN apk add --no-cache git
|
RUN apk add --no-cache git yamllint
|
||||||
RUN go get -u gopkg.in/alecthomas/gometalinter.v1 \
|
RUN go get -u gopkg.in/alecthomas/gometalinter.v1 \
|
||||||
&& mv /go/bin/gometalinter.v1 /go/bin/gometalinter \
|
&& mv /go/bin/gometalinter.v1 /go/bin/gometalinter \
|
||||||
&& gometalinter --install
|
&& gometalinter --install
|
||||||
WORKDIR /go/src/github.com/docker/buildx
|
WORKDIR /go/src/github.com/docker/buildx
|
||||||
RUN --mount=target=/go/src/github.com/docker/buildx \
|
RUN --mount=target=/go/src/github.com/docker/buildx \
|
||||||
gometalinter --config=gometalinter.json ./...
|
gometalinter --config=gometalinter.json ./...
|
||||||
|
RUN --mount=target=/go/src/github.com/docker/buildx \
|
||||||
|
yamllint -c .yamllint.yml --strict .
|
||||||
|
@ -1,37 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
. $(dirname $0)/util
|
. $(dirname $0)/util
|
||||||
set -eu -o pipefail -x
|
set -eu
|
||||||
|
|
||||||
: ${CONTINUOUS_INTEGRATION=}
|
buildxCmd build --file ./hack/dockerfiles/lint.Dockerfile .
|
||||||
|
|
||||||
progressFlag=""
|
|
||||||
if [ "$CONTINUOUS_INTEGRATION" == "true" ]; then progressFlag="--progress=plain"; fi
|
|
||||||
|
|
||||||
lintDocker() {
|
|
||||||
export DOCKER_BUILDKIT=1
|
|
||||||
iidfile=$(mktemp -t docker-iidfile.XXXXXXXXXX)
|
|
||||||
docker build --iidfile $iidfile -f ./hack/dockerfiles/lint.Dockerfile --force-rm .
|
|
||||||
iid=$(cat $iidfile)
|
|
||||||
docker rmi $iid
|
|
||||||
rm -f $iidfile
|
|
||||||
}
|
|
||||||
|
|
||||||
lint() {
|
|
||||||
buildctl build $progressFlag --frontend=dockerfile.v0 \
|
|
||||||
--local context=. --local dockerfile=. \
|
|
||||||
--frontend-opt filename=./hack/dockerfiles/lint.Dockerfile
|
|
||||||
}
|
|
||||||
|
|
||||||
case $buildmode in
|
|
||||||
"buildkit")
|
|
||||||
lint
|
|
||||||
;;
|
|
||||||
"docker-buildkit")
|
|
||||||
lintDocker
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "buildctl or docker with buildkit support is required"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
Loading…
Reference in New Issue