Skip to content

Update CI input sequence #21

Update CI input sequence

Update CI input sequence #21

Workflow file for this run

name: CI
on:
push:
branches:
- master
- main
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: SIFDecode ${{ matrix.os }} ${{ matrix.compiler }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
compiler: gnu
input: '1\n1\nn\n1'
arch: 'pc64.lnx.gfo'
- os: macos-latest
compiler: gnu
input: '2\nn\n4'
arch: 'mac64.osx.gfo'
- os: ubuntu-latest
compiler: intel
input: '1\n1\nn\n2\nn\ny'
hpckit: 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18975/l_HPCKit_p_2022.3.1.16997_offline.sh'
script: 'install_linux.sh'
arch: 'pc64.lnx.ifr'
- os: macos-latest
compiler: intel
input: '2\nn\n2\nn\ny'
hpckit: 'https://registrationcenter-download.intel.com/akdlm/irc_nas/18977/m_HPCKit_p_2022.3.1.15344_offline.dmg'
script: 'install_macos.sh'
arch: 'mac64.osx.ifr'
runs-on: ${{ matrix.os }}
env:
ARCHDEFS: ${{ github.workspace }}/ARCHDefs
SIFDECODE: ${{ github.workspace }}
MASTSIF: ${{ github.workspace }}/sif
steps:
- name: Set up Homebrew
if: matrix.compiler == 'gnu'
uses: Homebrew/actions/setup-homebrew@master
- name: Check out
uses: actions/checkout@v3
- name: Download ARCHDefs
id: download-archdefs
uses: robinraju/[email protected]
with:
repository: "ralna/ARCHDefs"
latest: true
tarBall: true
out-file-path: ""
- name: Unpack ARCHDefs
run: |
tar zxf ARCHDefs-${{ steps.download-archdefs.outputs.tag_name }}.tar.gz
mv ralna-ARCHDefs-* ARCHDefs
- name: Install GNU C and Fortran compilers
if: matrix.compiler == 'gnu'
run: |
brew update
eval $(brew shellenv)
brew install gcc
- name: Install Intel OneAPI C and Fortran compilers
if: matrix.compiler == 'intel'
run: |
.github/scripts/${{ matrix.script }} "${{ matrix.hpckit }}" all
- name: Build
run: |
[[ "${{ matrix.compiler }}" == "intel" ]] && source /opt/intel/oneapi/setvars.sh
cd $SIFDECODE
printf "${{ matrix.input }}" > install_config
./install_sifdecode < install_config
- name: Test
run: |
[[ "${{ matrix.compiler }}" == "intel" ]] && source /opt/intel/oneapi/setvars.sh
$SIFDECODE/bin/sifdecoder --help
$SIFDECODE/bin/sifdecoder -A ${{ matrix.arch }} ROSENBR.SIF
# check that all output files exist (EXTER.f is allowed to be empty)
[[ -s "OUTSDIF.d" && -s "AUTOMAT.d" && -f "EXTER.f" && -s "RANGE.f" && -s "ELFUN.f" && -s "GROUP.f" ]] || exit 1