-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update GROMACS_Installation_Main.yml
Signed-off-by: Anuththara Gamage(Anu) <[email protected]>
- Loading branch information
Showing
1 changed file
with
30 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,79 +1,33 @@ | ||
name: Run GROMACS Simulations | ||
|
||
on: | ||
workflow_dispatch | ||
|
||
name: Cypress Tests | ||
on: [push] | ||
jobs: | ||
simulate: | ||
runs-on: warp-ubuntu-latest-x64-2x | ||
timeout-minutes: 240 | ||
|
||
env: | ||
PATH: "/usr/local/gromacs/bin:$PATH" # Set PATH for all steps | ||
|
||
cypress-run: | ||
runs-on: ubuntu-latest | ||
# Runs tests in parallel with matrix strategy https://docs.cypress.io/guides/guides/parallelization | ||
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs | ||
# Also see warning here https://github.com/cypress-io/github-action#parallel | ||
strategy: | ||
fail-fast: false # https://github.com/cypress-io/github-action/issues/48 | ||
matrix: | ||
containers: [1, 2] # Uses 2 parallel instances | ||
steps: | ||
- name: Install tar | ||
run: sudo apt-get install -y tar | ||
|
||
- name: Checkout source | ||
uses: actions/checkout@v2 | ||
|
||
- name: Setup Python | ||
uses: actions/setup-python@v2 | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
- name: Cypress run | ||
# Uses the official Cypress GitHub action https://github.com/cypress-io/github-action | ||
uses: cypress-io/github-action@v6 | ||
with: | ||
python-version: 3.7 | ||
|
||
- name: Install GROMACS Requirements | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y wget | ||
wget https://ftp.gromacs.org/gromacs/gromacs-2023.3.tar.gz | ||
tar xfz gromacs-2023.3.tar.gz | ||
cd gromacs-2023.3 | ||
mkdir build | ||
cd build | ||
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON | ||
make | ||
# Exclude the problematic test | ||
ctest -j $(nproc) -E MdrunTestsTwoRanks --output-on-failure || true #workflow continues even if the test fails | ||
sudo make install | ||
echo 'source /usr/local/gromacs/bin/GMXRC' >> $HOME/.bashrc | ||
source $HOME/.bashrc | ||
- name: Prepare Input Files | ||
run: | | ||
pwd | ||
ls | ||
cp Demo_Run/simulation/input_files/NVT.mdp . | ||
cp Demo_Run/simulation/input_files/NPT.mdp . | ||
cp Demo_Run/simulation/input_files/MD.mdp . | ||
cp Demo_Run/simulation/input_files/EM.gro . | ||
cp Demo_Run/simulation/input_files/topol.top . | ||
cp Demo_Run/simulation/input_files/index.ndx . | ||
- name: Run NVT Simulation | ||
run: | | ||
pwd | ||
ls | ||
gmx grompp -f NVT.mdp -c EM.gro -r EM.gro -p topol.top -n index.ndx -maxwarn 2 -o NVT.tpr | ||
gmx mdrun -deffnm NVT | ||
- name: Run NPT Simulation | ||
run: | | ||
pwd | ||
ls | ||
gmx grompp -f NPT.mdp -c NVT.gro -r NVT.gro -p topol.top -n index.ndx -maxwarn 2 -o NPT.tpr | ||
gmx mdrun -deffnm NPT | ||
- name: Run MD Simulation | ||
run: | | ||
pwd | ||
ls | ||
gmx grompp -f MD.mdp -c NPT.gro -t NPT.cpt -p topol.top -n index.ndx -maxwarn 2 -o MD.tpr | ||
gmx mdrun -deffnm MD | ||
- name: Archive Simulation Output | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: simulation-results | ||
path: ./*.{edr,log,trr,tpr,xtc,xvg} | ||
# Starts web server for E2E tests - replace with your own server invocation | ||
# https://docs.cypress.io/guides/continuous-integration/introduction#Boot-your-server | ||
start: npm start | ||
wait-on: 'http://localhost:3000' # Waits for above | ||
# Records to Cypress Cloud | ||
# https://docs.cypress.io/guides/cloud/projects#Set-up-a-project-to-record | ||
record: true | ||
parallel: true # Runs test in parallel using settings above | ||
env: | ||
# For recording and parallelization to work you must set your CYPRESS_RECORD_KEY | ||
# in GitHub repo → Settings → Secrets → Actions | ||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | ||
# Creating a token https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |