1 # Declare and sequence the stages to which jobs may be assigned.
2 # The pipeline is organized into stages so that if early stages fail
3 # the later ones are not run.
5 # Initial test build for checking simple compilation and getting regressiontest repo
7 # Configuration for building and testing
9 # Build GROMACS in multiple configurations
11 # Unit test each configuration, perhaps in multiple ways
13 # Generate documentation files
15 # Check documentation from source code for errors
17 # Linting, docs, static analysis, coverage, code analysis...
19 # Nightly work to configure builds
23 # Nightly deploy stage
25 # Release work for packaging code
27 # Release checksum verification
29 # Configure code for release builds
31 # Release work for packaging code
33 # Tests for release code
35 # Prepare for deploying artifacts
36 - release-prepare-deploy
37 # Deploy stage for release builds
41 # Mix-in helper job definitions of general utility.
42 - local: '/admin/gitlab-ci/global.gitlab-ci.yml'
43 - local: '/admin/gitlab-ci/rules.gitlab-ci.yml'
44 # gmxapi Python package.
45 - local: '/admin/gitlab-ci/python-gmxapi.gitlab-ci.yml'
46 # Further API validation and usability of sample gmxapi extension package.
47 - local: '/admin/gitlab-ci/sample_restraint.gitlab-ci.yml'
48 # API regression testing using sample gmxapi extension package.
49 - local: '/admin/gitlab-ci/sample_restraint-regression.gitlab-ci.yml'
50 # Build and test GROMACS in a variety of environments and configurations.
51 # To do: Consider expanding matrix here to improve transparency and reduce file sizes.
52 # E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
53 - local: '/admin/gitlab-ci/gromacs.gitlab-ci.yml'
54 # Repository cleanliness. Source tidiness, linting, and policy compliance.
55 - local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
56 # Web page and manual.
57 - local: '/admin/gitlab-ci/documentation.gitlab-ci.yml'
58 # Prepare release archives.
59 - local: '/admin/gitlab-ci/archive.gitlab-ci.yml'