Увеличить таймаут Trivy в CI
Some checks failed
Проверка, сборка и развёртывание Magistr / Обязательные проверки (push) Successful in 1m11s
Проверка, сборка и развёртывание Magistr / Собрать backend image (push) Successful in 22s
Проверка, сборка и развёртывание Magistr / Собрать frontend image (push) Successful in 13s
Проверка, сборка и развёртывание Magistr / Проверить опубликованные образы (push) Failing after 5m6s
Проверка, сборка и развёртывание Magistr / Развернуть проверенные digests (push) Has been skipped
Some checks failed
Проверка, сборка и развёртывание Magistr / Обязательные проверки (push) Successful in 1m11s
Проверка, сборка и развёртывание Magistr / Собрать backend image (push) Successful in 22s
Проверка, сборка и развёртывание Magistr / Собрать frontend image (push) Successful in 13s
Проверка, сборка и развёртывание Magistr / Проверить опубликованные образы (push) Failing after 5m6s
Проверка, сборка и развёртывание Magistr / Развернуть проверенные digests (push) Has been skipped
This commit is contained in:
@@ -69,6 +69,8 @@ require_count() {
|
||||
}
|
||||
|
||||
check_workflow_gates() {
|
||||
local security_timeout
|
||||
|
||||
require_file "$WORKFLOW" || return
|
||||
require_file "$CI_CONTAINER_SCRIPT" || return
|
||||
require_file "$CI_CONTAINER_TEST" || return
|
||||
@@ -77,8 +79,8 @@ check_workflow_gates() {
|
||||
"для обоих образов должна публиковаться SBOM attestation"
|
||||
require_count '^[[:space:]]+provenance:[[:space:]]+mode=max$' 2 \
|
||||
"для обоих образов должна публиковаться provenance attestation"
|
||||
require_count 'image --scanners vuln --exit-code 1 --severity HIGH,CRITICAL' 2 \
|
||||
"оба образа должны проходить блокирующее HIGH/CRITICAL-сканирование"
|
||||
require_count 'image --timeout 15m --scanners vuln --exit-code 1 --severity HIGH,CRITICAL' 2 \
|
||||
"оба образа должны проходить блокирующее HIGH/CRITICAL-сканирование с достаточным таймаутом"
|
||||
require_count 'TRIVY_IMAGE: [^[:space:]]+@sha256:[0-9a-f]{64}$' 1 \
|
||||
"образ Trivy должен быть закреплён digest"
|
||||
require_count 'MAVEN_IMAGE: [^[:space:]]+@sha256:[0-9a-f]{64}$' 1 \
|
||||
@@ -92,6 +94,23 @@ check_workflow_gates() {
|
||||
require_count '--env DOCKER_CONFIG=/workspace' 2 \
|
||||
"оба Trivy scan должны получать registry credentials через Docker API"
|
||||
|
||||
security_timeout=$(awk '
|
||||
$0 == " security-scan:" {
|
||||
in_job = 1
|
||||
next
|
||||
}
|
||||
in_job && $0 ~ /^ [[:alnum:]_-]+:$/ {
|
||||
exit
|
||||
}
|
||||
in_job && $1 == "timeout-minutes:" {
|
||||
print $2
|
||||
exit
|
||||
}
|
||||
' "$WORKFLOW")
|
||||
if [[ "$security_timeout" != "35" ]]; then
|
||||
fail "security-scan job должен иметь таймаут 35 минут"
|
||||
fi
|
||||
|
||||
if grep -Fq '${{ github.workspace }}' "$WORKFLOW" \
|
||||
|| grep -Fq -- '-v "$HOME' "$WORKFLOW"; then
|
||||
fail "нельзя использовать пути job-контейнера в bind mount внешнего Docker daemon"
|
||||
|
||||
Reference in New Issue
Block a user