ci-includes-yml/pipelines/go-build.yml

93 lines
1.7 KiB
YAML
Raw Normal View History

2024-05-05 10:26:28 -05:00
stages:
- build
2024-05-05 13:57:52 -05:00
- validate
- publish
2024-05-05 10:26:28 -05:00
2024-05-05 10:05:11 -05:00
include:
- template: Security/Secret-Detection.gitlab-ci.yml
- project: 'developerdurp/yml'
ref: 'main'
file:
- 'jobs/golang.yml'
2024-05-05 14:26:39 -05:00
- 'jobs/version.yml'
- 'jobs/sonarqube.yml'
- 'jobs/golang.yml'
- 'jobs/docker.yml'
- 'jobs/codescan.yml'
2024-05-05 13:57:52 -05:00
- 'rules/rules.yml'
2024-05-05 10:05:11 -05:00
2024-05-05 14:26:39 -05:00
generate_sbom:
extends: .generate_sbom
stage: build
needs:
- job: docker-build
optional: true
artifacts: true
rules:
2024-05-06 04:55:40 -05:00
- !reference [.mr_only_rules, rules]
2024-05-05 14:26:39 -05:00
generate_cve:
extends: .generate_cve
stage: build
needs:
- job: generate_sbom
artifacts: true
rules:
2024-05-06 04:55:40 -05:00
- !reference [.mr_only_rules, rules]
2024-05-05 14:26:39 -05:00
version:
extends: .version
stage: .pre
rules:
- !reference [.default_rules, rules]
secret_detection:
stage: validate
rules:
- !reference [.mr_only_rules, rules]
allow_failure: false
sonarqube:
extends: .sonarcloud-check
stage: validate
allow_failure: true
rules:
- !reference [.sonarqube_rules, rules]
golang-lint:
extends: .golang-lint
stage: validate
rules:
- !reference [.mr_only_rules, rules]
docker-build:
extends: .docker_build
stage: build
needs:
- job: gobuild
artifacts: true
- job: version
optional: true
artifacts: true
rules:
- !reference [.docker_rules, rules]
2024-05-05 10:05:11 -05:00
gobuild:
variables:
GOPROXY: https://nexus.durp.info/repository/go/
extends: .golang-build
stage: build
rules:
2024-05-05 13:39:22 -05:00
- !reference [.default_mr_rules, rules]
2024-05-05 10:05:11 -05:00
2024-05-05 14:26:39 -05:00
docker-push:
extends: .docker_push_gitlab
stage: publish
needs:
- job: gobuild
artifacts: true
- job: version
artifacts: true
rules:
2024-05-06 04:46:02 -05:00
- !reference [.docker_publish_rules, rules]