-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
92 lines (79 loc) · 2.66 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# ********** Please don't edit this file!
# ********** It has been generated automatically by dae_devops version 0.5.4.dev0+g1fb30ef.d20230527.
# ********** For repository_name dls-utilpack
variables:
# I put the package_pip artifacts int his place just until I can use the corporate internal pipserver.
# Maybe /dls_sw/work/python3/RHEL7-x86_64/distributions would be a better place?
PIP_FIND_LINKS: "/dls_sw/apps/bxflow/artifacts"
default:
tags:
# Argus is the production Kubernetes.
- argus
image:
# Use official language image.
name: python:3.9
before_script:
- df
- echo $PIP_FIND_LINKS
- pip install -e .[dev,docs]
# -----
- git config --global credential.helper "/bin/bash /git_creds.sh"
- echo '#!/usr/bin/env bash' > /git_creds.sh
- echo "sleep 1" >> /git_creds.sh
- echo "echo username=gitlab-ci-token" >> /git_creds.sh
- echo "echo password=$CI_JOB_TOKEN" >> /git_creds.sh
# -----
- make -f .dae-devops/Makefile prepare_git_dependencies
stages:
- validate
- package
# Disabling the publish part until a runner has a place to publish to.
# - publish
# ---------------------------------------------------------------------
# The validate stage makes sure code is ready to package and release.
validate_pre_commit:
stage: validate
script:
- make -f .dae-devops/Makefile validate_pre_commit
validate_mypy:
stage: validate
script:
- make -f .dae-devops/Makefile validate_mypy
validate_pytest:
stage: validate
script:
- apt-get update
- apt-get install -y environment-modules
- make -f .dae-devops/Makefile validate_pytest
validate_docs:
stage: validate
script:
- make -f .dae-devops/Makefile validate_docs
artifacts:
paths:
- build/html
# ---------------------------------------------------------------------
# The pip state packages and publishes for pip.
package_pip:
stage: package
script:
- make -f .dae-devops/Makefile package_pip
artifacts:
paths:
- dist/*
# ---------------------------------------------------------------------
# The publish stage publishes stuff for general consumption.
# Will use artifacts from previous stages.
# Disabling the publish part until a runner has a place to publish to.
# It can be done manually from the command line using the make commands.
# publish_pip:
# stage: publish
# script:
# # The package_pip artifacts are in the dist folder.
# - make -f .dae-devops/Makefile publish_pip
# publish_docs:
# stage: publish
# script:
# # The validate_docs artifacts are in the build/html folder.
# - make -f .dae-devops/Makefile publish_docs
# dae_devops_fingerprint f43e642ab97b449962eae8963c80a5e4