Lists of continuous integration (CI) actions
The directory The following CI actions are triggered on pull request (PR) creation or update (the user pushes a new commit to the incoming branch): Integration test and unit tests ( Building tests with CMake ( Rerender the docs site: This action rerenders the documentation site on Read the Docs. It is automatically triggered when the documentation is updated. Testing GPU features ( Some tests are executed on self-hosted runners, which are maintained by the deepmodeling community. To save resources, the actions triggered by new commits may cancel the previous actions in the same PR. After the PR merges into the main branch, the following actions are triggered: Building Docker images ( Generate doxygen site ( Mirror the repo to Gitee ( Dynamic analysis ( Coverage test ( Building tagged Docker images (.github/workflows
contains the continuous integration (CI) actions for the project. The actions are written in YAML format and are executed by GitHub Actions. Check the Actions page of the repo for the status of the actions.On Pull Request (PR)
test.yml
): This action builds ABACUS with all available features, runs integration tests, and runs unit tests. It also performs static analysis with <pre-commit.ci>.build_test_cmake.yml
) and Makefile (build_test_makefile.yml
): This action builds ABACUS with each feature separately, ensuring: (i) there are no conflicts between features, (ii) the compilation is successful whether the feature is enabled, and (iii) it works well on multiple platforms, i.e. with GNU+OpenBLAS toolchain and Intel+MKL toolchain.cuda.yml
): This action builds ABACUS with GPU support and runs several tests on the GPU.On PR Merge
devcontainer.yml
): This action builds the Docker images with latest codes and executables. The images are tagged as abacus-gnu:latest
, abacus-intel:latest
, and abacus-cuda:latest
, and then pushed to the GitHub Container Registry (ghcr.io/deepmodeling
) and AliCloud Container Registry (registry.dp.tech/deepmodeling
, recommended for one having issue connecting to GitHub). For example: docker pull ghcr.io/deepmodeling/abacus-intel:latest
.doxygen.yml
): This action generates the Doxygen site for the project. The site is published on GitHub Pages.mirror.yml
): This action mirrors the repo to Gitee.On Routine
dynamic_analysis.yml
): This action runs integration tests with AddressSanitizer to detect memory errors. The action is scheduled to run every Sunday. The results are published to the dashboard branch.On Release
coverage.yml
): This action builds ABACUS with all available features, runs integration tests, and runs unit tests. It also measures the code coverage of the tests. The results are published at codecov.io.devcontainer.yml
): Same as that action above; in addition the built image is tagged in the pattern of abacus-intel:3.6.0
. For example: docker pull ghcr.io/deepmodeling/abacus-intel:3.6.0
.