gitlab-sim/testdata/keywords_valid.yml
2026-06-05 01:29:07 +02:00

80 lines
1.2 KiB
YAML

stages:
- build
- test
- release
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: always
- when: never
variables:
GO_VERSION: "1.26"
build-job:
stage: build
image:
name: golang:1.26
entrypoint: [""]
script:
- go build ./...
artifacts:
paths:
- bin/
when: on_success
expire_in: 1 week
cache:
key: go-modules
paths:
- .go/pkg/mod
policy: pull-push
when: on_success
retry: 2
interruptible: true
resource_group: build-group
test-job:
stage: test
script:
- go test ./...
coverage: '/coverage: \d+\.\d+%/'
allow_failure:
exit_codes: [1, 2]
parallel: 4
needs:
- build-job
dependencies:
- build-job
retry:
max: 2
when:
- script_failure
- runner_system_failure
release-job:
stage: release
script:
- echo "creating release"
release:
tag_name: $CI_COMMIT_TAG
description: "Release $CI_COMMIT_TAG"
rules:
- if: '$CI_COMMIT_TAG'
when: on_success
environment:
name: production
url: https://example.com
action: start
when: on_success
.template:
before_script:
- echo "before"
tags:
- docker
inherit:
default: false
variables:
- GO_VERSION