032c30c223b1e9f679e3d6e20a64c2f792cbfd92
[alexxy/gromacs.git] / .gitlab-ci.yml
1 # CI is organized into stages so that if early stages fail
2 # the later ones are not run.
3 stages:
4   # Initial test build for checking simple compilation and getting regressiontest repo
5   - pre-build
6   # Configuration for building and testing
7   - configure-build
8   # Build GROMACS in multiple configurations
9   - build
10   # Test each configuration, perhaps in multiple ways
11   - test
12   # Generate documentation files
13   - documentation
14   # Check documentation from source code for errors
15   - source-check
16   # Linting, docs, static analysis, coverage, code analysis...
17   - post-test
18   # Nightly work to configure builds
19   - nightly-configure
20   # Nightly build stage
21   - nightly-build
22   # Nightly deploy stage
23   - nightly-deploy
24   # Release work for packaging code
25   - release-package
26   # Release checksum verification
27   - release-verify
28   # Configure code for release builds
29   - release-configure
30   # Release work for packaging code
31   - release-build
32   # Tests for release code
33   - release-tests
34   # Prepare for deploying artifacts
35   - release-prepare-deploy
36   # Deploy stage for release builds
37   - release-deploy
38
39 default:
40   tags:
41     - k8s-scilifelab
42
43 include:
44   # Mix-in helper job definitions of general utility.
45   - local: '/admin/gitlab-ci/global.gitlab-ci.yml'
46   # Various composable job definitions.
47   - local: '/admin/ci-templates/.build-template.yml'
48   - local: '/admin/ci-templates/.gcc-before-script.yml'
49   - local: '/admin/ci-templates/.gcc-build-template.yml'
50   - local: '/admin/ci-templates/.clang-build-template.yml'
51   - local: '/admin/ci-templates/.clang-before-script.yml'
52   - local: '/admin/ci-templates/.cuda-template.yml'
53   - local: '/admin/ci-templates/.build-gmxapi-template.yml'
54   # Build and test in a variety of environments and configurations.
55   # To do: expand matrix here to improve transparency and reduce file sizes.
56   # E.g. '/admin/gitlab-ci/matrix/clang-8.gitlab-ci.yml
57   - local: '/admin/gitlab-ci/testing-matrix.gitlab-ci.yml'
58   # Repository cleanliness. Source tidiness, linting, and policy compliance.
59   - local: '/admin/gitlab-ci/lint.gitlab-ci.yml'
60   # Web page and manual.
61   - local: '/admin/gitlab-ci/documentation.gitlab-ci.yml'
62   # Prepare release archives.
63   - local: '/admin/gitlab-ci/archive.gitlab-ci.yml'