Skip to content

use GH conditionals #160

use GH conditionals

use GH conditionals #160

Workflow file for this run

on: [push, pull_request]
name: FDS
jobs:
build-rpm:
name: Build RPM
runs-on: ubuntu-latest
strategy:
matrix:
container:
- "fedora:39"
- "rockylinux:8"
- "rockylinux:9"
fds-version:
- "5.5.3"
- "6.1.2"
- "6.2.0"
- "6.3.0"
- "6.3.1"
- "6.3.2"
- "6.4.0"
- "6.5.0"
- "6.5.1"
- "6.5.2"
- "6.5.3"
- "6.6.0"
- "6.7.0"
- "6.7.1"
- "6.7.3"
- "6.7.4"
- "6.7.5"
- "6.7.6"
- "6.7.7"
- "6.7.8"
- "6.7.9"
- "6.8.0"
- "6.9.0"
- "6.9.1"
# - "latest"
container: ${{ matrix.container }}
steps:
- uses: actions/checkout@v4
- name: Add intel RPM repo
run: |
tee > /tmp/oneAPI.repo << EOF
[oneAPI]
name=Intel® oneAPI repository
baseurl=https://yum.repos.intel.com/oneapi
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
EOF
mv /tmp/oneAPI.repo /etc/yum.repos.d
- name: General update
run: dnf update -y --refresh
- name: Install environment-modules
run: dnf install -y environment-modules
- name: Install prerequisites
run: dnf install -y git gcc kmod openssl-devel rpmdevtools make
- name: Install fedora libxcrypt-compat
run: dnf install -y libxcrypt-compat || true
- name: Install fedora procps
run: dnf install -y procps || true
- name: Install Intel OneAPI packages
run: dnf install -y intel-oneapi-compiler-fortran-2024.1.0-963 intel-oneapi-mkl-devel-2024.1.0-691 intel-oneapi-mpi-devel-2021.12.0-534 intel-oneapi-compiler-dpcpp-cpp-2024.1.0-963 openmpi-devel mpich-devel
- run: /opt/intel/oneapi/modulefiles-setup.sh
- name: Build RPM
run: |
cd fds
export version=${{ matrix.fds-version }}
export repo=$(awk -F, -v version="$version" '$1 == version { print $2; exit }' versions.csv)
export commit=$(awk -F, -v version="$version" '$1 == version { print $3; exit }' versions.csv)
export date=$(awk -F, -v version="$version" '$1 == version { print $4; exit }' versions.csv)
export version_patch=$(awk -F, -v version="$version" '$1 == version { print $5; exit }' versions.csv)
export backports_patch=$(awk -F, -v version="$version" '$1 == version { print $6; exit }' versions.csv)
if [ "${{ matrix.container }}" = "rockylinux:8" ]
then
bash ./buildrpm.sh $version $repo $commit $date $version_patch $backports_patch --define 'build_openmpi 0' --define 'build_mpich 0'
else
bash ./buildrpm.sh $version $repo $commit $date $version_patch $backports_patch
fi
- name: String Transform container name
id: transform
uses: relab-services/string-transform@v1
with:
source: ${{ matrix.container }}
transform: replace(":", "_")
- uses: actions/upload-artifact@v4
with:
name: FDS-RPM-${{ steps.transform.outputs.var }}-${{ matrix.fds-version }}
path: |
dist/*.rpm
merge:
runs-on: ubuntu-latest
needs: build-rpm
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: FDS-RPMs
pattern: FDS-RPM-*
delete-merged: true