forked from gromacs/gromacs
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
58 lines (57 loc) · 2.15 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
# Declare and sequence the stages to which jobs may be assigned.
# The pipeline is organized into stages so that if early stages fail
# the later ones are not run.
stages:
# Initial test build for checking simple compilation and getting regressiontest repo
- pre-build
# Configuration for building and testing
- configure-build
# Build GROMACS in multiple configurations
- build
# Unit test each configuration, perhaps in multiple ways
- test
# Generate documentation files
- documentation
# Check documentation from source code for errors
- source-check
# Linting, docs, static analysis, coverage, code analysis...
- post-test
# Nightly work to configure builds
- nightly-configure
# Nightly build stage
- nightly-build
# Nightly deploy stage
- nightly-deploy
# Release work for packaging code
- release-package
# Configure code for release builds
- release-configure
# Release work for packaging code
- release-build
# Tests for release code
- release-tests
# Release checksum verification
- release-verify
# Prepare for deploying artifacts
- release-prepare-deploy
# Deploy stage for release builds
- release-deploy
include:
# Mix-in helper job definitions of general utility.
- local: '/admin/gitlab-ci/global.gitlab-ci.yml'
- local: '/admin/gitlab-ci/rules.gitlab-ci.yml'
# gmxapi Python package.
- local: '/admin/gitlab-ci/python-gmxapi.matrix.gitlab-ci.yml'
# Further API validation and usability of sample gmxapi extension package.
- local: '/admin/gitlab-ci/api-client.matrix.gitlab-ci.yml'
# Build and test GROMACS in a variety of environments and configurations.
# To do: Consider expanding matrix here to improve transparency and reduce file sizes.
# E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
- local: '/admin/gitlab-ci/gromacs.gitlab-ci.yml'
- local: '/admin/gitlab-ci/gromacs.matrix.gitlab-ci.yml'
# Repository cleanliness. Source tidiness, linting, and policy compliance.
- local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
# Web page and manual.
- local: '/admin/gitlab-ci/documentation.gitlab-ci.yml'
# Prepare release archives.
- local: '/admin/gitlab-ci/archive.gitlab-ci.yml'