fradrive/.gitlab-ci/backend.yml

58 lines
1.1 KiB
YAML

# SPDX-FileCopyrightText: 2024 Sarah Vaupel <sarah.vaupel@uniworx.de>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
### IMPORTANT NOTICE ###
# Our pipeline consists of static and dynamic parts.
#
# This file only contains the dynamic parts of our pipeline.
# Static jobs are defined in .gitlab-ci.yml.
#
# The marker "#dyn#" (without quotes) will be replaced by concrete values.
###
variables:
BACKEND_IMAGE_VERSION: #dyn#
stages:
- compile
- lint
- test
default:
image:
name: ${CI_REGISTRY_IMAGE}/backend/${CI_COMMIT_REF_SLUG}:${BACKEND_IMAGE_VERSION}
entrypoint: [""]
docker:
platform: x86_64
artifacts:
name: "${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA}"
expire_in: "1 day"
retry: 2
interruptible: true
compile:
stage: compile
script:
- make -- backend-build${PROD_BUILD}
artifacts:
paths:
- ${CI_PROJECT_DIR}/.stack-work/
- ${CI_PROJECT_DIR}/.stack/
cache: &backend-cache
lint:
stage: lint
script:
- make -- backend-lint${PROD_BUILD}
cache: *backend-cache
test:
stage: test
needs:
- compile
script:
- make -- backend-test${PROD_BUILD}
cache: *backend-cache