Skip to content

Commit

Permalink
Merge pull request #87 from mphowardlab/azplugins-v1
Browse files Browse the repository at this point in the history
Release azplugins v1
  • Loading branch information
mphoward authored Jul 26, 2024
2 parents b782744 + f235ace commit 16c024e
Show file tree
Hide file tree
Showing 321 changed files with 7,901 additions and 27,918 deletions.
36 changes: 36 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
BasedOnStyle: WebKit
AccessModifierOffset: 0
AlignAfterOpenBracket: Align
AlignEscapedNewlines: 'Left'
AlignOperands: 'true'
AlignTrailingComments: 'true'
AllowAllArgumentsOnNextLine: 'false'
AllowAllParametersOfDeclarationOnNextLine: 'false'
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: 'false'
AllowShortLoopsOnASingleLine: 'false'
BinPackArguments: 'false'
BinPackParameters: 'false'
BreakBeforeBraces: Whitesmiths
BreakConstructorInitializers: BeforeColon
ColumnLimit: '100'
CompactNamespaces: 'true'
Cpp11BracedListStyle: 'true'
FixNamespaceComments: 'true'
IndentWidth: '4'
KeepEmptyLinesAtTheStartOfBlocks: false
Language: Cpp
NamespaceIndentation: None
PointerAlignment: Left
SortIncludes: 'true'
SpaceAfterCStyleCast: 'false'
SpaceAfterTemplateKeyword: 'false'
SpaceBeforeParens: ControlStatements
SpacesInAngles: 'false'
SpaceInEmptyParentheses: false
Standard: Cpp11
TabWidth: '4'
UseTab: Never

...
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
93 changes: 0 additions & 93 deletions .github/workflows/test.yml

This file was deleted.

133 changes: 133 additions & 0 deletions .github/workflows/unit-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
name: Unit test

env:
COMPONENT_NAME: azplugins

# Most components should not modify the rest of this file. When needed, merge in updates from
# https://github.com/glotzerlab/hoomd-component-template/

#############################################################################################
# HOOMD-blue version to build.
HOOMD_BLUE_VERSION: v4.8.2
# prevent deadlocked MPI tests from causing the job to cancel
MPIEXEC_TIMEOUT: 3000
# allow mpirun to execute as root in the tests
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
# allow openmpi to oversubscribe cores
PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe"
OMPI_MCA_rmaps_base_oversubscribe: "true"
# prevent errors from mis-configured openib systems
OMPI_MCA_btl: "vader,self"

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

on:
pull_request:
push:
branches: [main]

workflow_dispatch:

defaults:
run:
shell: bash

jobs:
build_test:
name: Build and test [${{ matrix.name }}]
runs-on: ubuntu-24.04
container:
image: nvidia/cuda:12.5.0-devel-ubuntu22.04
strategy:
fail-fast: false
matrix:
include:
- name: "CPU"
enable_gpu: "OFF"
enable_mpi: "OFF"
- name: "CPU, MPI"
enable_gpu: "OFF"
enable_mpi: "ON"
- name: "GPU"
enable_gpu: "ON"
enable_mpi: "OFF"
- name: "GPU, MPI"
enable_gpu: "ON"
enable_mpi: "ON"

steps:
- name: Restore cached HOOMD-blue build
id: cache
uses: actions/cache/restore@v4
with:
path: install
key: hoomd-blue-${{ env.HOOMD_BLUE_VERSION }}-${{ matrix.enable_mpi }}-gpu-${{ matrix.enable_gpu }}
- name: Install git
run: |
apt-get update
apt-get install git --yes
- name: Checkout HOOMD-blue
uses: actions/checkout@v4
with:
repository: glotzerlab/hoomd-blue
path: hoomd-blue
submodules: true
ref: ${{ env.HOOMD_BLUE_VERSION }}
- name: Create Python Environment
uses: mamba-org/setup-micromamba@v1
with:
environment-name: test
environment-file: hoomd-blue/.github/workflows/environments/py312-conda-lock.yml
micromamba-root-path: ${{ github.workspace }}/micromamba

- name: Configure conda environment variables
run: |
echo "PYTHONPATH=$GITHUB_WORKSPACE/install" >> $GITHUB_ENV
echo "CONDA_PREFIX=$MAMBA_ROOT_PREFIX/envs/test" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=$MAMBA_ROOT_PREFIX/envs/test" >> $GITHUB_ENV
echo "$MAMBA_ROOT_PREFIX/envs/test/bin" >> $GITHUB_PATH
- name: Configure HOOMD-blue
if: steps.cache.outputs.cache-hit != 'true'
run: |
cmake -B build-hoomd-blue -S hoomd-blue \
-GNinja \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_GPU=${ENABLE_GPU} \
-DENABLE_MPI=${ENABLE_MPI} \
-DCUDA_ARCH_LIST="70" \
-DBUILD_TESTING=OFF \
-DPLUGINS="" \
-DCMAKE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/install
env:
ENABLE_GPU: ${{ matrix.enable_gpu }}
ENABLE_MPI: ${{ matrix.enable_mpi }}
- name: Build HOOMD-blue
if: steps.cache.outputs.cache-hit != 'true'
run: ninja install -j $(($(getconf _NPROCESSORS_ONLN) + 2))
working-directory: build-hoomd-blue
- name: Cache HOOMD-blue build
if: steps.cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: install
key: hoomd-blue-${{ env.HOOMD_BLUE_VERSION }}-${{ matrix.enable_mpi }}-gpu-${{ matrix.enable_gpu }}

- name: Checkout component
uses: actions/checkout@v4
with:
path: component
- name: Configure component
run: CMAKE_PREFIX_PATH=${GITHUB_WORKSPACE}/install cmake -S component -B build-component -GNinja -DCMAKE_BUILD_TYPE=Release
- name: Build component
run: ninja install -j $(($(getconf _NPROCESSORS_ONLN) + 2))
working-directory: build-component

- name: Run pytest (serial)
run: python3 -m pytest --pyargs hoomd.${COMPONENT_NAME} -x -v -ra --durations=0 --durations-min=0.1
- name: Run pytest (MPI)
if: ${{ matrix.enable_mpi == 'ON' }}
run: mpirun -n 2 ${GITHUB_WORKSPACE}/install/hoomd/pytest/pytest-openmpi.sh --pyargs hoomd.${COMPONENT_NAME} -x -v -ra --durations=0 --durations-min=0.1 || (( cat pytest.out.1 && exit 1 ))
59 changes: 59 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
ci:
autoupdate_schedule: quarterly
autoupdate_branch: 'main'
autofix_prs: false

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: 'v4.4.0'
hooks:
- id: end-of-file-fixer
exclude_types: [svg]
- id: trailing-whitespace
exclude_types: [svg]
- id: check-json
- id: check-yaml
- id: check-case-conflict
- id: fix-encoding-pragma
args:
- --remove
- id: mixed-line-ending
- repo: https://github.com/glotzerlab/fix-license-header
rev: v0.3.2
hooks:
- id: fix-license-header
name: Fix license headers (Python)
types_or: [python]
args:
- --license-file=LICENSE
- --num=2
- --add=Part of azplugins, released under the BSD 3-Clause License.
- --keep-before=#!
- id: fix-license-header
name: Fix license headers (C)
types_or: [c, c++, cuda, inc]
args:
- --license-file=LICENSE
- --num=2
- --add=Part of azplugins, released under the BSD 3-Clause License.
- --comment-prefix=//
- id: fix-license-header
name: Fix license headers (reStructuredText)
types_or: [rst]
args:
- --license-file=LICENSE
- --num=2
- --add=Part of azplugins, released under the BSD 3-Clause License.
- --keep-after=.. include
- --keep-after=.. automodule
- --comment-prefix=..
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v16.0.6
hooks:
- id: clang-format
types_or: [c, c++, cuda, inc]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.2.2
hooks:
- id: ruff-format
- id: ruff
18 changes: 18 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2

sphinx:
configuration: doc/conf.py
fail_on_warning: true

build:
os: ubuntu-22.04
tools:
python: "mambaforge-22.9"
jobs:
post_install:
- wget https://github.com/glotzerlab/hoomd-blue/releases/download/v4.8.2/hoomd-4.8.2.tar.gz
- tar -xzvf hoomd-4.8.2.tar.gz
- python doc/mock_install.py hoomd-4.8.2/hoomd src

conda:
environment: doc/environment.yaml
13 changes: 0 additions & 13 deletions .readthedocs.yml

This file was deleted.

Loading

0 comments on commit 16c024e

Please sign in to comment.