arkisto/.gitlab-ci.yml

66 lines
1.6 KiB
YAML

---
# You can override the included template(s) by including variable overrides
# SAST customization: https://docs.gitlab.com/ee/user/application_security/sast/#customizing-the-sast-settings
# Secret Detection customization: https://docs.gitlab.com/ee/user/application_security/secret_detection/#customizing-settings
# Dependency Scanning customization: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-the-dependency-scanning-settings
# Container Scanning customization: https://docs.gitlab.com/ee/user/application_security/container_scanning/#customizing-the-container-scanning-settings
# Note that environment variables can be set in several places
# See https://docs.gitlab.com/ee/ci/variables/#cicd-variable-precedence
stages:
- build
- test
- publish
build:executable:
stage: build
image: crystallang/crystal:1.5.0
script:
# Debug
- crystal version
- shards version
# Build
- make build
artifacts:
paths:
- bin
cache:
paths:
- lib
build:docker-image:
stage: build
image: docker:20.10.16
services:
- docker:20.10.16-dind
needs:
- build:executable
script:
- apk install make
- make docker-build
- make docker-save > _artifacts/docker-image.tar
artifacts:
paths:
- _artifacts
sast:
stage: test
publish:docker-image:
stage: publish
needs:
- build:docker-image
image: docker:20.10.16
services:
- docker:20.10.16-dind
script:
- apk install make
- make docker-load < _artifacts/docker-image.tar
- make docker-push
artifacts:
paths:
- bin
include:
- template: Security/SAST.gitlab-ci.yml