Skip to content

Merge pull request #12257 from drjfloyd/master #804

Merge pull request #12257 from drjfloyd/master

Merge pull request #12257 from drjfloyd/master #804

Workflow file for this run

name: github-linux
on:
push:
paths:
- .github/**
- Build/**
- Source/**
pull_request:
paths:
- .github/**
- Build/**
- Source/**
concurrency:
group: ${{ github.event_name }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
permissions:
contents: read
jobs:
linux-intel-intelmpi:
# build on ubuntu using ifort with intelmpi and mkl based on
# https://github.com/oneapi-src/oneapi-ci
name: linux intel intelmpi
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
# install oneapi components from apt repository based on
# https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2023-2/apt.html
# oneapi-ci/scripts/setup_apt_repo_linux.sh
# oneapi-ci/scripts/apt_depends.sh
# oneapi-ci/scripts/install_linux_apt.sh
- name: setup apt repository
run: |
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
- name: collect versioned dependencies of apt packages
run : |
apt-cache depends intel-oneapi-compiler-fortran \
intel-oneapi-mpi-devel \
intel-oneapi-mkl-devel | tee dependencies.txt
- name: cache install oneapi
id: cache-install
uses: actions/cache@v3
with:
path: /opt/intel/oneapi
key: install-${{ hashFiles('**/dependencies.txt') }}
- name: install oneapi compiler, mpi, mkl
if: steps.cache-install.outputs.cache-hit != 'true'
run: |
sudo apt-get install -y intel-oneapi-compiler-fortran \
intel-oneapi-mpi-devel \
intel-oneapi-mkl-devel
sudo apt-get clean
- name: build fds debug
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/impi_intel_linux_db
sh ./make_fds.sh
./fds_impi_intel_linux_db
- name: build fds release
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/impi_intel_linux
sh ./make_fds.sh
./fds_impi_intel_linux
linux-gnu-openmpi:
# build on ubuntu using gfortran with openmpi and mkl based on
# https://github.com/oneapi-src/oneapi-ci
name: linux gnu openmpi
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
- name: install openmpi
run: |
sudo apt-get update
sudo apt-get install libopenmpi-dev openmpi-bin
# install oneapi components from apt repository based on
# oneapi-ci/scripts/setup_apt_repo_linux.sh
# oneapi-ci/scripts/apt_depends.sh
# oneapi-ci/scripts/install_linux_apt.sh
- name: setup apt repository
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0"
- name: collect versioned dependencies of apt packages
run : |
apt-cache depends intel-oneapi-mkl-devel | tee dependencies.txt
- name: cache install oneapi
id: cache-install
uses: actions/cache@v3
with:
path: /opt/intel/oneapi
key: install-${{ hashFiles('**/dependencies.txt') }}
- name: install oneapi mkl
if: steps.cache-install.outputs.cache-hit != 'true'
run: |
sudo apt-get install -y intel-oneapi-mkl-devel
sudo apt-get clean
- name: build fds debug
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/ompi_gnu_linux_db
sh ./make_fds.sh
./fds_ompi_gnu_linux_db
- name: build fds release
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/ompi_gnu_linux
sh ./make_fds.sh
./fds_ompi_gnu_linux