Skip to content

Build for aarch64-linux #462

Build for aarch64-linux

Build for aarch64-linux #462

Workflow file for this run

name: Build the Reference FMUs
on:
push:
branches: [ main ]
tags: [ 'v*' ]
pull_request:
branches: [ main ]
jobs:
lint-files:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- run: python3 lint_files.py
build:
strategy:
matrix:
include:
- name: x86_64-windows
image: windows-2022
arch: x86_64
- name: x86_64-linux
image: ubuntu-20.04
arch: x86_64
- name: aarch64-linux
image: ubuntu-20.04
arch: aarch64
- name: x86_64-darwin
image: macos-11
arch: x86_64
runs-on: ${{ matrix.image }}
needs: lint-files
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: s-weigand/[email protected]
with:
conda-channels: conda-forge
- run: conda --version
- run: which python
- run: python -m pip install fmpy==0.3.18 pytest scipy
- if: matrix.arch == 'aarch64'
run: sudo apt install gcc-aarch64-linux-gnu qemu-user
- run: python ThirdParty/build_cvode.py --arch ${{ matrix.arch }}
- run: python ThirdParty/build_libxml2.py --arch ${{ matrix.arch }}
- run: python ThirdParty/build_zlib.py --arch ${{ matrix.arch }}
- run: python build.py --arch ${{ matrix.arch }}
- run: pytest tests --arch ${{ matrix.arch }}
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.name }}
path: fmus
if-no-files-found: error
merge-fmus:
runs-on: ubuntu-20.04
needs: [build]
steps:
- uses: s-weigand/[email protected]
with:
conda-channels: conda-forge
- run: python -m pip install fmpy==0.3.18 pytest scipy kaleido markdown2 plotly
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: x86_64-windows
path: dist-x86_64-windows
- uses: actions/download-artifact@v3
with:
name: x86_64-linux
path: dist-x86_64-linux
- uses: actions/download-artifact@v3
with:
name: aarch64-linux
path: dist-aarch64-linux
- uses: actions/download-artifact@v3
with:
name: x86_64-darwin
path: dist-x86_64-darwin
- run: chmod +x dist-x86_64-linux/fmusim-linux/fmusim
- run: git status --porcelain --untracked=no
- run: git tag --contains
- run: git rev-parse --short HEAD
- run: python3 merge_binaries.py
- run: git status --porcelain --untracked=no
- run: git tag --contains
- run: git rev-parse --short HEAD
- uses: actions/upload-artifact@v3
with:
name: Reference-FMUs
path: dist-merged
if-no-files-found: error