Skip to content

Commit

Permalink
Update GROMACS_Installation_Main.yml
Browse files Browse the repository at this point in the history
Signed-off-by: Anuththara Gamage(Anu) <[email protected]>
  • Loading branch information
ANUGAMAGE authored Feb 4, 2024
1 parent 3cfd24c commit 81a2ba3
Showing 1 changed file with 30 additions and 76 deletions.
106 changes: 30 additions & 76 deletions .github/workflows/GROMACS_Installation_Main.yml
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 }}

0 comments on commit 81a2ba3

Please sign in to comment.