1 # CI is organized into stages so that if early stages fail
2 # the later ones are not run.
4 # Initial test build for checking simple compilation and getting regressiontest repo
6 # Configuration for building and testing
8 # Build GROMACS in multiple configurations
10 # Test each configuration, perhaps in multiple ways
12 # Generate documentation files
14 # Check documentation from source code for errors
16 # Linting, docs, static analysis, coverage, code analysis...
18 # Nightly work to configure builds
22 # Nightly deploy stage
24 # Release work for packaging code
26 # Release checksum verification
28 # Configure code for release builds
30 # Release work for packaging code
32 # Tests for release code
34 # Prepare for deploying artifacts
35 - release-prepare-deploy
36 # Deploy stage for release builds
44 KUBERNETES_CPU_LIMIT: 8
45 KUBERNETES_CPU_REQUEST: 4
46 KUBERNETES_MEMORY_LIMIT: 8Gi
47 KUBERNETES_EXTENDED_RESOURCE_NAME: ""
48 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 0
49 CACHE_FALLBACK_KEY: "$CI_JOB_NAME-$CI_JOB_STAGE-master"
54 # Mix-in helper job definitions of general utility.
55 - local: '/admin/gitlab-ci/global.gitlab-ci.yml'
56 # Various composable job definitions.
57 - local: '/admin/ci-templates/.build-template.yml'
58 - local: '/admin/ci-templates/.test-runner-template.yml'
59 - local: '/admin/ci-templates/.gcc-before-script.yml'
60 - local: '/admin/ci-templates/.gcc-build-template.yml'
61 - local: '/admin/ci-templates/.gcc-test-template.yml'
62 - local: '/admin/ci-templates/.clang-build-template.yml'
63 - local: '/admin/ci-templates/.clang-test-template.yml'
64 - local: '/admin/ci-templates/.clang-before-script.yml'
65 - local: '/admin/ci-templates/.documentation-before-script.yml'
66 - local: '/admin/ci-templates/.test-script-template.yml'
67 - local: '/admin/ci-templates/.build-docs-template.yml'
68 - local: '/admin/ci-templates/.cuda-template.yml'
69 - local: '/admin/ci-templates/.build-gmxapi-template.yml'
70 - local: '/admin/ci-templates/.regressiontest-template.yml'
71 - local: '/admin/ci-templates/.release-template.yml'
72 # Build and test in a variety of environments and configurations.
73 # To do: expand matrix here to improve transparency and reduce file sizes.
74 # E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
75 - local: '/admin/gitlab-ci/testing-matrix.gitlab-ci.yml'
76 # Repository cleanliness. Source tidiness, linting, and policy compliance.
77 - local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
78 # Web page and manual.
79 - local: '/admin/gitlab-ci/documentation.gitlab-ci.yml'
80 # Prepare release archives.
81 - local: '/admin/gitlab-ci/release.gitlab-ci.yml'