mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-12-02 11:02:16 +00:00
Automatic merge from submit-queue Start verifying golint on a per-package basis as packages are fixed <!-- Checklist for submitting a Pull Request Please remove this comment block before submitting. 1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md). 2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md). 3. If you want this PR to automatically close an issue when it is merged, add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>` to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests). 4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below. --> ```release-note Added `golint` for pkg/security/podsecuritypolicy/capabilities` along with validation. ``` []() This is a POC to start enabling `golint` checks on a per-package basis, we did this on the docker project and it was a great way for new contributors to help and it benefits the project overall. All they have to do is add the package they fixed to the bash array in `hack/verify-golint.sh` and fix all the lint errors. Eventually when all the packages have been fixed we can change the function to `find_files`. Or something based off which files are changed in a patch set to verify `golint`. Now I used this specific package as the POC because I wanted to show the downside of this changing the api of the package. Most of the times this arose in docker/docker we decided that if someone wasn't importing their deps locally then it was their loss, but I'm not sure if you all will agree. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/27911) <!-- Reviewable:end -->
50 lines
1.9 KiB
Bash
Executable File
50 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright 2015 The Kubernetes 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 -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
set -o xtrace
|
|
|
|
export REPO_DIR=${REPO_DIR:-$(pwd)}
|
|
export HOST_ARTIFACTS_DIR=${WORKSPACE}/_artifacts
|
|
mkdir -p "${HOST_ARTIFACTS_DIR}"
|
|
|
|
# Run the kubekins container, mapping in docker (so we can launch containers),
|
|
# the repo directory, and the artifacts output directory.
|
|
#
|
|
# Note: We pass in the absolute path to the repo on the host as an env var incase
|
|
# any tests that get run need to launch containers that also map volumes.
|
|
# This is required because if you do
|
|
#
|
|
# $ docker run -v $PATH:/container/path ...
|
|
#
|
|
# From _inside_ a container that has the host's docker mapped in, the $PATH
|
|
# provided must be resolvable on the *HOST*, not the container.
|
|
|
|
docker run --rm=true \
|
|
--privileged=true \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
-v "${REPO_DIR}":/go/src/k8s.io/kubernetes \
|
|
-v "${WORKSPACE}/_artifacts":/workspace/artifacts \
|
|
-v /etc/localtime:/etc/localtime:ro \
|
|
-e "KUBE_FORCE_VERIFY_CHECKS=${KUBE_FORCE_VERIFY_CHECKS:-}" \
|
|
-e "KUBE_VERIFY_GIT_BRANCH=${KUBE_VERIFY_GIT_BRANCH:-}" \
|
|
-e "REPO_DIR=${REPO_DIR}" \
|
|
-e "HOST_ARTIFACTS_DIR=${HOST_ARTIFACTS_DIR}" \
|
|
-i gcr.io/google_containers/kubekins-test:go1.6.3-docker1.9.1-rev2 \
|
|
bash -c "cd kubernetes && ${KUBE_TEST_SCRIPT:-./hack/jenkins/test-dockerized.sh}"
|