Skip to content

Commit

Permalink
ci line count diff (#314)
Browse files Browse the repository at this point in the history
  • Loading branch information
sbryngelson authored Jan 19, 2024
1 parent 0b05ff3 commit 0a512fc
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 135 deletions.
35 changes: 10 additions & 25 deletions .github/workflows/count.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
name: Check Line Counts
on: [push]
on:
push:

pull_request:

workflow_dispatch:

jobs:
sz:
Expand All @@ -24,32 +29,12 @@ jobs:
# ref: master
# path: base

- name: Setup MFCs
run: |
BASE="$GITHUB_WORKSPACE/base"
PR="$GITHUB_WORKSPACE/pr"
cd $BASE
./mfc.sh count
cd $PR
./mfc.sh count
- name: Counting Lines
- name: Get Line Diff
run: |
BASE="$GITHUB_WORKSPACE/base"
PR="$GITHUB_WORKSPACE/pr"
cd $BASE
echo "___BASE______________"
./mfc.sh count
cd $PR
echo "___PR________________"
./mfc.sh count
# - name: Get Line Diff
# run: |
# BASE="$GITHUB_WORKSPACE/base"
# PR="$GITHUB_WORKSPACE/pr"
# cd $BASE
# export MFC_PR=$PR
# pwd
# ./mfc.sh count_diff
export MFC_PR=$PR
pwd
./mfc.sh count_diff
220 changes: 110 additions & 110 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,126 +1,126 @@
name: 'Test Suite'
# name: 'Test Suite'

on:
push:
paths:
- '**.f90'
- '**.fpp'
- '**.py'
- '**.yml'
- 'mfc.sh'
- 'golden.txt'
- 'CMakeLists.txt'
- 'requirements.txt'
# on:
# push:
# paths:
# - '**.f90'
# - '**.fpp'
# - '**.py'
# - '**.yml'
# - 'mfc.sh'
# - 'golden.txt'
# - 'CMakeLists.txt'
# - 'requirements.txt'

pull_request:
# pull_request:

workflow_dispatch:
# workflow_dispatch:

jobs:
github:
name: Github
strategy:
matrix:
os: ['ubuntu', 'macos']
mpi: ['mpi', 'no-mpi']
debug: ['debug', 'no-debug']
intel: [true, false]
exclude:
- intel: true
os: macos
fail-fast: false
continue-on-error: true
runs-on: ${{ matrix.os }}-latest
steps:
- name: Clone
uses: actions/checkout@v3
# jobs:
# github:
# name: Github
# strategy:
# matrix:
# os: ['ubuntu', 'macos']
# mpi: ['mpi', 'no-mpi']
# debug: ['debug', 'no-debug']
# intel: [true, false]
# exclude:
# - intel: true
# os: macos
# fail-fast: false
# continue-on-error: true
# runs-on: ${{ matrix.os }}-latest
# steps:
# - name: Clone
# uses: actions/checkout@v3

- name: Setup MacOS
if: matrix.os == 'macos'
run: |
echo "CC=gcc-13" >> $GITHUB_ENV
echo "CXX=g++-13" >> $GITHUB_ENV
echo "FC=gfortran-13" >> $GITHUB_ENV
brew install wget make python make cmake coreutils gcc@13
# - name: Setup MacOS
# if: matrix.os == 'macos'
# run: |
# echo "CC=gcc-13" >> $GITHUB_ENV
# echo "CXX=g++-13" >> $GITHUB_ENV
# echo "FC=gfortran-13" >> $GITHUB_ENV
# brew install wget make python make cmake coreutils gcc@13

- name: (MacOS) Build OpenMPI
if: matrix.os == 'macos' && matrix.mpi == 'mpi'
run: |
echo "OMPI_FC=gfortran-13" >> $GITHUB_ENV
echo "OMPI_CXX=g++-13" >> $GITHUB_ENV
echo "OMPI_MPICC=gcc-13" >> $GITHUB_ENV
HOMEBREW_MAKE_JOBS=$(nproc) brew install --cc=gcc-13 --verbose --build-from-source open-mpi
# - name: (MacOS) Build OpenMPI
# if: matrix.os == 'macos' && matrix.mpi == 'mpi'
# run: |
# echo "OMPI_FC=gfortran-13" >> $GITHUB_ENV
# echo "OMPI_CXX=g++-13" >> $GITHUB_ENV
# echo "OMPI_MPICC=gcc-13" >> $GITHUB_ENV
# HOMEBREW_MAKE_JOBS=$(nproc) brew install --cc=gcc-13 --verbose --build-from-source open-mpi

- name: Setup Ubuntu
if: matrix.os == 'ubuntu' && matrix.intel == false
run: |
sudo apt update -y
sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev
# - name: Setup Ubuntu
# if: matrix.os == 'ubuntu' && matrix.intel == false
# run: |
# sudo apt update -y
# sudo apt install -y tar wget make cmake gcc g++ python3 python3-dev "openmpi-*" libopenmpi-dev

- name: Setup Ubuntu (Intel)
if: matrix.os == 'ubuntu' && matrix.intel == true
run: |
sudo apt install tar wget make cmake python3 python3-dev
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install -y intel-oneapi-common-vars intel-oneapi-compiler-fortran-2022.1.0 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.1.0 intel-oneapi-mkl-2021.4.0 intel-oneapi-mpi-2021.7.1 intel-oneapi-mpi-devel-2021.7.1
source /opt/intel/oneapi/setvars.sh
echo "CXX=$(which icpc)" >> $GITHUB_ENV
echo "CC=$(which icc)" >> $GITHUB_ENV
echo "FC=$(which ifort)" >> $GITHUB_ENV
echo "OMPI_FC=$(which ifort)" >> $GITHUB_ENV
echo "OMPI_CXX=$(which icpc)" >> $GITHUB_ENV
echo "OMPI_MPICC=$(which icc)" >> $GITHUB_ENV
echo "MPI_HOME=/opt/intel/oneapi/mpi/2021.7.1/" >> $GITHUB_ENV
echo "I_MPI_ROOT=/opt/intel/oneapi/mpi/2021.7.1/" >> $GITHUB_ENV
# - name: Setup Ubuntu (Intel)
# if: matrix.os == 'ubuntu' && matrix.intel == true
# run: |
# sudo apt install tar wget make cmake python3 python3-dev
# wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
# sudo echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
# sudo apt-get update
# sudo apt-get install -y intel-oneapi-common-vars intel-oneapi-compiler-fortran-2022.1.0 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2022.1.0 intel-oneapi-mkl-2021.4.0 intel-oneapi-mpi-2021.7.1 intel-oneapi-mpi-devel-2021.7.1
# source /opt/intel/oneapi/setvars.sh
# echo "CXX=$(which icpc)" >> $GITHUB_ENV
# echo "CC=$(which icc)" >> $GITHUB_ENV
# echo "FC=$(which ifort)" >> $GITHUB_ENV
# echo "OMPI_FC=$(which ifort)" >> $GITHUB_ENV
# echo "OMPI_CXX=$(which icpc)" >> $GITHUB_ENV
# echo "OMPI_MPICC=$(which icc)" >> $GITHUB_ENV
# echo "MPI_HOME=/opt/intel/oneapi/mpi/2021.7.1/" >> $GITHUB_ENV
# echo "I_MPI_ROOT=/opt/intel/oneapi/mpi/2021.7.1/" >> $GITHUB_ENV

- name: Build
run: |
if [ '${{ matrix.intel }}' == 'true' ]; then source /opt/intel/oneapi/setvars.sh; fi
/bin/bash mfc.sh build -j $(nproc) --${{ matrix.debug }} --${{ matrix.mpi }}
# - name: Build
# run: |
# if [ '${{ matrix.intel }}' == 'true' ]; then source /opt/intel/oneapi/setvars.sh; fi
# /bin/bash mfc.sh build -j $(nproc) --${{ matrix.debug }} --${{ matrix.mpi }}

- name: Test
run: |
if [ '${{ matrix.intel }}' == 'true' ]; then source /opt/intel/oneapi/setvars.sh; fi
/bin/bash mfc.sh test -j $(nproc) $OPT1 $OPT2
env:
OPT1: ${{ matrix.mpi == 'mpi' && '--test-all' || '' }}
OPT2: ${{ matrix.debug == 'debug' && '-% 20' || '' }}
# - name: Test
# run: |
# if [ '${{ matrix.intel }}' == 'true' ]; then source /opt/intel/oneapi/setvars.sh; fi
# /bin/bash mfc.sh test -j $(nproc) $OPT1 $OPT2
# env:
# OPT1: ${{ matrix.mpi == 'mpi' && '--test-all' || '' }}
# OPT2: ${{ matrix.debug == 'debug' && '-% 20' || '' }}

docker:
name: Github | Docker
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v3
# docker:
# name: Github | Docker
# runs-on: ubuntu-latest
# steps:
# - name: Clone
# uses: actions/checkout@v3

- name: Test
run: sudo ./mfc.sh docker ./mfc.sh test -j $(nproc) -a
# - name: Test
# run: sudo ./mfc.sh docker ./mfc.sh test -j $(nproc) -a

self:
name: Georgia Tech | Phoenix (NVHPC)
if: github.repository == 'MFlowCode/MFC'
continue-on-error: true
strategy:
matrix:
device: ['cpu', 'gpu']
runs-on:
group: phoenix
labels: self-hosted
steps:
- name: Clone
uses: actions/checkout@v3
# self:
# name: Georgia Tech | Phoenix (NVHPC)
# if: github.repository == 'MFlowCode/MFC'
# continue-on-error: true
# strategy:
# matrix:
# device: ['cpu', 'gpu']
# runs-on:
# group: phoenix
# labels: self-hosted
# steps:
# - name: Clone
# uses: actions/checkout@v3

- name: Build & Test
run: bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/test.sh ${{ matrix.device }}
# - name: Build & Test
# run: bash .github/workflows/phoenix/submit.sh .github/workflows/phoenix/test.sh ${{ matrix.device }}

- name: Archive Logs
uses: actions/upload-artifact@v3
if: always()
with:
name: logs
path: test-${{ matrix.device }}.out
# - name: Archive Logs
# uses: actions/upload-artifact@v3
# if: always()
# with:
# name: logs
# path: test-${{ matrix.device }}.out

0 comments on commit 0a512fc

Please sign in to comment.