mirror of
https://github.com/docker/compose.git
synced 2025-07-23 13:45:00 +02:00
Add CI step to check license headers
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
This commit is contained in:
parent
e749155839
commit
97a50f8d51
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
@ -18,6 +18,9 @@ jobs:
|
|||||||
- name: Checkout code into the Go module directory
|
- name: Checkout code into the Go module directory
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Validate license headers
|
||||||
|
run: make validate
|
||||||
|
|
||||||
- name: Run golangci-lint
|
- name: Run golangci-lint
|
||||||
run: |
|
run: |
|
||||||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b . v1.30.0
|
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b . v1.30.0
|
||||||
|
@ -84,3 +84,9 @@ RUN --mount=target=. \
|
|||||||
BUILD_TAGS=${BUILD_TAGS} \
|
BUILD_TAGS=${BUILD_TAGS} \
|
||||||
GIT_TAG=${GIT_TAG} \
|
GIT_TAG=${GIT_TAG} \
|
||||||
make -f builder.Makefile test
|
make -f builder.Makefile test
|
||||||
|
|
||||||
|
FROM base as check-license-headers
|
||||||
|
RUN go get -u github.com/kunalkushwaha/ltag
|
||||||
|
RUN --mount=target=. \
|
||||||
|
--mount=type=cache,target=/root/.cache/go-build \
|
||||||
|
make -f builder.Makefile check-license-headers
|
3
Makefile
3
Makefile
@ -78,6 +78,9 @@ serve: cli ## start server
|
|||||||
moby-cli-link: ## create com.docker.cli symlink if does not already exist
|
moby-cli-link: ## create com.docker.cli symlink if does not already exist
|
||||||
ln -s $(MOBY_DOCKER) /usr/local/bin/com.docker.cli
|
ln -s $(MOBY_DOCKER) /usr/local/bin/com.docker.cli
|
||||||
|
|
||||||
|
validate: ## check license header for all files
|
||||||
|
@docker build . --target check-license-headers
|
||||||
|
|
||||||
help: ## Show help
|
help: ## Show help
|
||||||
@echo Please specify a build target. The choices are:
|
@echo Please specify a build target. The choices are:
|
||||||
@grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
@grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
||||||
|
@ -56,6 +56,9 @@ test:
|
|||||||
lint:
|
lint:
|
||||||
golangci-lint run --timeout 10m0s ./...
|
golangci-lint run --timeout 10m0s ./...
|
||||||
|
|
||||||
|
check-license-headers:
|
||||||
|
./scripts/validate/fileheader
|
||||||
|
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
||||||
.PHONY: all protos cli cross test lint
|
.PHONY: all protos cli cross test lint
|
||||||
|
28
scripts/validate/fileheader
Executable file
28
scripts/validate/fileheader
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Copyright The Compose Specification Authors.
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
set -eu -o pipefail
|
||||||
|
|
||||||
|
if ! command -v ltag; then
|
||||||
|
>&2 echo "ERROR: ltag not found. Install with:"
|
||||||
|
>&2 echo " go get -u github.com/kunalkushwaha/ltag"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
BASEPATH="${1-}"
|
||||||
|
|
||||||
|
ltag -t "${BASEPATH}scripts/validate/template" -excludes "validate testdata" --check -v
|
13
scripts/validate/template/bash.txt
Normal file
13
scripts/validate/template/bash.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Copyright 2020 Docker, Inc.
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
13
scripts/validate/template/dockerfile.txt
Normal file
13
scripts/validate/template/dockerfile.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Copyright 2020 Docker, Inc.
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
16
scripts/validate/template/go.txt
Normal file
16
scripts/validate/template/go.txt
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020 Docker, Inc.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
13
scripts/validate/template/makefile.txt
Normal file
13
scripts/validate/template/makefile.txt
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Copyright 2020 Docker, Inc.
|
||||||
|
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
Loading…
x
Reference in New Issue
Block a user