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 # gmxapi Python package.
44 - local: '/admin/gitlab-ci/python-gmxapi.gitlab-ci.yml'
45 # Further API validation and usability of sample gmxapi extension package.
46 - local: '/admin/gitlab-ci/sample_restraint.gitlab-ci.yml'
47 # API regression testing using sample gmxapi extension package.
48 - local: '/admin/gitlab-ci/sample_restraint-regression.gitlab-ci.yml'
49 # Build and test GROMACS in a variety of environments and configurations.
50 # To do: Consider expanding matrix here to improve transparency and reduce file sizes.
51 # E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
52 - local: '/admin/gitlab-ci/gromacs.gitlab-ci.yml'
53 # Repository cleanliness. Source tidiness, linting, and policy compliance.
54 - local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
55 # Web page and manual.
56 - local: '/admin/gitlab-ci/documentation.gitlab-ci.yml'
57 # Prepare release archives.
58 - local: '/admin/gitlab-ci/archive.gitlab-ci.yml'