Skip to content

Merge pull request #79 from thorade/comments_c89 #120

Merge pull request #79 from thorade/comments_c89

Merge pull request #79 from thorade/comments_c89 #120

Workflow file for this run

name: Continuous Integration
#on:
# push:
# tags:
# - 'v*'
on: [push]
jobs:
finish-ci:
runs-on: ubuntu-latest
needs: [build-macos, build-linux, build-windows, build-msys-openmodelica, build-msys, build-docs]
steps:
- uses: actions/download-artifact@v2
- name: Display structure of downloaded files
run: ls -R
# - name: Zip binaries
# uses: papeloto/action-zip@v1
# with:
# files: binaries/
# recursive: true
# dest: latest.zip
# - name: Upload zipped binaries
# uses: actions/upload-artifact@v1
# with:
# name: latest
# path: latest.zip
# - name: Deploy zipped binaries
# uses: peaceiris/actions-gh-pages@v3
# with:
# github_token: ${{ secrets.GITHUB_TOKEN }}
# publish_dir: Documentation/html
# #destination_dir: latest
build-macos:
runs-on: ${{ matrix.platform }}
strategy:
# Only use one build here, otherwise we cannot control which build is included in the release zip package
# Check the use of the ${MODELICA_PLATFORM} and ${MODELICA_COMPILER} variables in the CMake files
matrix:
include:
- platform: macos-latest
#- platform: macos-11
#- platform: macos-10.15
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: |
cmake --version
cmake -E make_directory ${{runner.workspace}}/build
- name: Configure with CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake ${GITHUB_WORKSPACE}/Projects -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=0 -DCOOLPROP=1 || true
cmake ${GITHUB_WORKSPACE}/Projects -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=0 -DCOOLPROP=1
- name: Build with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target ExternalMediaLib
- name: Install with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target install
- name: upload macos artifacts
uses: actions/upload-artifact@v1
with:
name: binaries
path: Modelica
build-linux:
runs-on: ${{ matrix.platform }}
strategy:
# Only use one build here, otherwise we cannot control which build is included in the release zip package
# Check the use of the ${MODELICA_PLATFORM} and ${MODELICA_COMPILER} variables in the CMake files
matrix:
include:
- platform: ubuntu-latest
#- platform: ubuntu-20.04
#- platform: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: |
cmake --version
cmake -E make_directory ${{runner.workspace}}/build
- name: Configure with CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake ${GITHUB_WORKSPACE}/Projects -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=0 -DCOOLPROP=1 || true
cmake ${GITHUB_WORKSPACE}/Projects -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=0 -DCOOLPROP=1
- name: Build with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target ExternalMediaLib
- name: Install with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target install
- name: upload linux artifacts
uses: actions/upload-artifact@v1
with:
name: binaries
path: Modelica
build-windows:
runs-on: ${{ matrix.platform }}
strategy:
# Use several builds here, Windows requires different builds for different compilers
# Check the use of the ${MODELICA_PLATFORM} and ${MODELICA_COMPILER} variables in the CMake files
matrix:
include:
- platform: windows-2022
generator: Visual Studio 17 2022
arch: Win32
toolset: v143
- platform: windows-2022
generator: Visual Studio 17 2022
arch: x64
toolset: v143
- platform: windows-2019
generator: Visual Studio 16 2019
arch: Win32
toolset: v142
- platform: windows-2019
generator: Visual Studio 16 2019
arch: x64
toolset: v142
- platform: windows-2019
generator: Visual Studio 16 2019
arch: Win32
toolset: v141
- platform: windows-2019
generator: Visual Studio 16 2019
arch: x64
toolset: v141
- platform: windows-2019
generator: Visual Studio 16 2019
arch: Win32
toolset: v140
- platform: windows-2019
generator: Visual Studio 16 2019
arch: x64
toolset: v140
#cmake -G "Visual Studio 14" -T v120 -T v141,version=14.11
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: |
cmake --version
cmake -E make_directory ${{runner.workspace}}/build
- name: Configure with CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=1
cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=1
- name: Build with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target ExternalMediaLib --config Release
- name: Install with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target install --config Release
- name: upload windows artifacts
uses: actions/upload-artifact@v1
with:
name: binaries
path: Modelica
build-msys-openmodelica:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: |
cmake --version
git clone https://openmodelica.org/git/OMDev.git C:/OMDev
- name: Configure with CMake for 32bit
working-directory: ${{runner.workspace}}
run: |
$env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw32\bin;$env:Path"
cmake -B build32 -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
cmake -B build32 -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
- name: Build with CMake for 32bit
working-directory: ${{runner.workspace}}
run: |
$env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw32\bin;$env:Path"
cmake --build build32 --target ExternalMediaLib
cmake --build build32 --target install
- name: Configure with CMake for 64bit
working-directory: ${{runner.workspace}}
run: |
$env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw64\bin;$env:Path"
cmake -B build64 -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
cmake -B build64 -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
- name: Build with CMake for 64bit
working-directory: ${{runner.workspace}}
run: |
$env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw64\bin;$env:Path"
cmake --build build64 --target ExternalMediaLib
cmake --build build64 --target install
- name: upload msys-openmodelica artifacts
uses: actions/upload-artifact@v1
with:
name: binaries
path: Modelica
#set Path=%ProgramFiles%\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw64\bin;%Path%
#cmake -B build64 -S Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
#cmake -B build64 -S Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
#cmake --build build64 --target ExternalMediaLib
#cmake --build build64 --target install
build-msys:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: |
cmake --version
cmake -E make_directory ${{runner.workspace}}/build
- name: Configure with CMake
working-directory: ${{runner.workspace}}/build
run: |
cmake ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
cmake ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
- name: Build with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target ExternalMediaLib
- name: Install with CMake
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target install
#- name: upload msys artifacts
# uses: actions/upload-artifact@v1
# with:
# name: binaries
# path: Modelica
build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build Doxygen sources
uses: mattnotmitt/doxygen-action@v1
with:
working-directory: 'Projects/'
doxyfile-path: './Doxyfile'
enable-latex: true
- name: Upload documentation artifacts
uses: actions/upload-artifact@v1
with:
name: docs
path: Projects/Documentation
- name: Copy PDF to Modelica tree
run: cp 'Projects/Documentation/latex/refman.pdf' 'Modelica/ExternalMedia/Resources/manual.pdf'
- name: Upload Modelica sources with PDF
uses: actions/upload-artifact@v1
with:
name: binaries
path: Modelica
- name: Deploy generated HTML
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: Projects/Documentation/html
#destination_dir: latest