You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ci_validator/main.go

61 lines
1.6 KiB
Go

package main
import (
"fmt"
"log"
"gitflame.ru/CI_VLDR/gitlabcivalidator"
)
func main() {
// Корректный (упрощённый) YAML
validYAML := `
stages:
- build
- test
jobs:
build_job:
stage: build
script:
- echo "Building..."
test_job:
stage: test
dependencies: ["build_job"]
script:
- echo "Testing..."
`
// Тип, ссылка и текст ошибки, показатели где нахоидтся ошибка...
// Некорректный YAML — отсутствует видимая задача, есть только скрытая
invalidYAML := `
stages:
- build
- test
jobs:
teaaa:
build_job:
validateJobMapping(jobValNode, ve):
script:
- c
needs: ["test_job2"]
test_job2:
stage: test
`
fmt.Println("=== Пример 1: Корректный YAML ===")
err := gitlabcivalidator.ValidateGitLabCIFile(validYAML, gitlabcivalidator.ValidationOptions{})
if err != nil {
log.Fatalf("Ожидали, что ошибок не будет, но возникли: %v\n", err)
} else {
fmt.Println("Валидация успешна! Ошибок не найдено.")
}
fmt.Println("\n=== Пример 2: Некорректный YAML ===")
err2 := gitlabcivalidator.ValidateGitLabCIFile(invalidYAML, gitlabcivalidator.ValidationOptions{})
if err2 != nil {
fmt.Println("Ошибка валидации (ожидаемо для данного файла):")
fmt.Println(err2.Error())
} else {
log.Fatal("Ожидали ошибку, но её не возникло")
}
}