mirror of
https://github.com/GoogleContainerTools/kaniko
synced 2026-10-17 18:19:40 +02:00
fix: getUIDandGID is able to resolve non-existing users and groups (#2106)
* fix: getUIDandGID is able to resolve non-existing users and groups A common pattern in dockerfiles is to provide a plain uid and gid number, which doesn't neccesarily exist inside the os. Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * test: add chown dockerfile Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * chore: format Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * chore: add comment Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * tests: fix chown dockerfile Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * refactor: split up getIdsFromUsernameAndGroup func Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * fix: implement raw uid logic for LookupUser Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * test: add dockerfiles for integration test * fix: lookup user error message * test: add dockerfiles for non-existing user testcase * fix: forgot error check * tests: fix syscall credentials test * chore: add debug output for copy command * tests: set specific gid for integration dockerfile * tests: fix syscall credentials test github runner had the exact uid that i was testing on, so the groups were not empty Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * tests: fix test script Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * chore: apply golangci lint checks Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * fix: reset file ownership in createFile if not root owned Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * chore: logrus.Debugf missed format variable Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * chore(test-script): remove go html coverage Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de> * test(k8s): increase wait timeout Signed-off-by: Höhl, Lukas <lukas.hoehl@accso.de>
This commit is contained in:
+8
-6
@@ -14,14 +14,16 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -e
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
#set -e
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
RESET='\033[0m'
|
||||
|
||||
echo "Running go tests..."
|
||||
go test -cover -v -timeout 60s `go list ./... | grep -v vendor | grep -v integration` | sed ''/PASS/s//$(printf "${GREEN}PASS${RESET}")/'' | sed ''/FAIL/s//$(printf "${RED}FAIL${RESET}")/''
|
||||
go test -cover -coverprofile=out/coverage.out -v -timeout 60s `go list ./... | grep -v vendor | grep -v integration` | sed ''/PASS/s//$(printf "${GREEN}PASS${RESET}")/'' | sed ''/FAIL/s//$(printf "${RED}FAIL${RESET}")/''
|
||||
GO_TEST_EXIT_CODE=${PIPESTATUS[0]}
|
||||
if [[ $GO_TEST_EXIT_CODE -ne 0 ]]; then
|
||||
exit $GO_TEST_EXIT_CODE
|
||||
@@ -29,15 +31,15 @@ fi
|
||||
|
||||
echo "Running validation scripts..."
|
||||
scripts=(
|
||||
"hack/boilerplate.sh"
|
||||
"hack/gofmt.sh"
|
||||
"hack/linter.sh"
|
||||
"$DIR/../hack/boilerplate.sh"
|
||||
"$DIR/../hack/gofmt.sh"
|
||||
"$DIR/../hack/linter.sh"
|
||||
)
|
||||
fail=0
|
||||
for s in "${scripts[@]}"
|
||||
do
|
||||
echo "RUN ${s}"
|
||||
if "./${s}"; then
|
||||
if "${s}"; then
|
||||
echo -e "${GREEN}PASSED${RESET} ${s}"
|
||||
else
|
||||
echo -e "${RED}FAILED${RESET} ${s}"
|
||||
|
||||
Reference in New Issue
Block a user