Skip to content

mantielero is testing out GitHub Actions 🚀 #23

mantielero is testing out GitHub Actions 🚀

mantielero is testing out GitHub Actions 🚀 #23

Workflow file for this run

name: zig compilation - Testing examples with FMU Checker
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on: [push]
jobs:
tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
nimversion:
- binary:stable
os:
- ubuntu-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- uses: iffy/install-nim@v5
with:
version: ${{ matrix.nimversion }}
#repo-token: ${{ secrets.GITHUB_TOKEN }}
#env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: goto-bus-stop/setup-zig@v2
with:
version: 0.10.1
- name: Install FMU Compliance Checker (linux64)
uses: robinraju/[email protected]
if: runner.os == 'Linux'
with:
repository: "modelica-tools/FMUComplianceChecker"
tag: "2.0.4"
fileName: "FMUChecker-2.0.4-linux64.zip"
extract: true
- name: Install FMU Compliance Checker (win64)
uses: robinraju/[email protected]
if: runner.os == 'Windows'
with:
repository: "modelica-tools/FMUComplianceChecker"
tag: "2.0.4"
fileName: "FMUChecker-2.0.4-win64.zip"
extract: true
- name: Make FMUChecker executable in Linux
run: chmod +x /home/runner/work/fmu.nim/fmu.nim/FMUChecker-2.0.4-linux64/fmuCheck.linux64
if: runner.os == 'Linux'
- name: Install zigcc
run: |
nimble install -y zigcc
- name: Install fmu.nim
run: |
nimble install -y
- name: Create inc.fmu as Model exchange with zig
run: |
cd examples/inc
nim c -r -d:fmu2me -d:zig inc
- name: Execute FMU checker over inc.fmu in Linux
run: |
cd examples/inc
#export LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6:$LD_PRELOAD
/home/runner/work/fmu.nim/fmu.nim/FMUChecker-2.0.4-linux64/fmuCheck.linux64 -h 1 -s 14 -f inc.fmu
if: runner.os == 'Linux'
- name: Execute FMU checker over inc.fmu in Linux
run: |
cd examples/inc
#export LD_PRELOAD=/lib/x86_64-linux-gnu/libstdc++.so.6:$LD_PRELOAD
/home/runner/work/fmu.nim/fmu.nim/FMUChecker-2.0.4-linux64/fmuCheck.linux64 -h 1 -s 14 -f -l 6 -e inc.log -o inc.csv inc.fmu
if: runner.os == 'Linux'
- name: Set path for windows (working)
shell: bash
run: |
echo "/d/a/fmu.nim/fmu.nim/FMUChecker-2.0.4-win64" >> $GITHUB_PATH
echo "C:\msys64\usr\bin" >> $GITHUB_PATH
if: runner.os == 'Windows'
- name: Execute FMU checker over inc.fmu in Windows
shell: bash
run: |
cd examples/inc
fmuCheck.win64.exe -h 1 -s 14 -f inc.fmu
if: runner.os == 'Windows'
- name: Execute FMU checker over inc.fmu in Windows
shell: bash
run: |
cd examples/inc
fmuCheck.win64.exe -h 1 -s 14 -f -l 6 -e inc.log -o inc.csv inc.fmu
if: runner.os == 'Windows'
# https://github.com/marketplace/actions/smart-diff
- name: Compare the result file
uses: GuillaumeFalourd/diff-action@v1
with:
first_file_path: examples/inc/inc_me_win64.csv
second_file_path: examples/inc/inc.csv
expected_result: PASSED
if: runner.os == 'Windows'
- name: Compare the result file
uses: GuillaumeFalourd/diff-action@v1
with:
first_file_path: examples/inc/inc_me.csv
second_file_path: examples/inc/inc.csv
expected_result: PASSED
if: runner.os == 'Linux'
- run: echo "🍏 This job's status is ${{ job.status }}."