Merge pull request #79 from thorade/comments_c89 #120
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |