register_install_codesign_target takes an optional ENTITLEMENTS singl… #1
Workflow file for this run
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: Linux Releases | |
on: | |
push: | |
tags: | |
- '*' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
BUILD_TYPE: Release | |
Python_REQUIRED_VERSION: 3.12.2 | |
jobs: | |
build_installer_artifact: | |
name: Build Packages for ${{ matrix.pretty }} | |
runs-on: ${{ matrix.os }} | |
continue-on-error: false | |
strategy: | |
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
pretty: "Ubuntu 22.04" | |
- os: ubuntu-24.04 | |
pretty: "Ubuntu 24.04" | |
permissions: | |
# Needed permission to upload the release asset | |
contents: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ env.Python_REQUIRED_VERSION }} | |
id: setup-python | |
uses: jmarrec/setup-python@v5 | |
with: | |
python-version: ${{ env.Python_REQUIRED_VERSION }} | |
- name: Setup QtIFW 4.x | |
uses: jmarrec/setup-qtifw@v1 | |
with: | |
qtifw-version: '4.6.1' | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install aqtinstall | |
- name: Install System dependencies and LaTeX | |
shell: bash | |
run: | | |
set -x | |
echo "Using Apt to install dependencies" | |
sudo apt-get update | |
sudo apt-get install texlive texlive-xetex texlive-science libxkbcommon-x11-0 xorg-dev libgl1-mesa-dev | |
if [[ "${{ matrix.os }}" == "ubuntu-24.04" ]]; then | |
# https://github.com/actions/runner-images/issues/10025 | |
echo "FC=gfortran-13" >> $GITHUB_ENV | |
fi | |
- name: Create Build Directory | |
run: cmake -E make_directory ./build/ | |
# should we pin to a specific version of CMake here like we did on Windows? | |
- name: Configure CMake | |
working-directory: ./build | |
shell: bash | |
run: | | |
cmake -DCMAKE_BUILD_TYPE:STRING=$BUILD_TYPE \ | |
-DLINK_WITH_PYTHON:BOOL=ON -DPython_REQUIRED_VERSION:STRING=${{ steps.setup-python.outputs.python-version }} \ | |
-DPython_ROOT_DIR:PATH=$RUNNER_TOOL_CACHE/Python/${{ steps.setup-python.outputs.python-version }}/x64/ \ | |
-DBUILD_FORTRAN:BOOL=ON -DBUILD_PACKAGE:BOOL=ON \ | |
-DDOCUMENTATION_BUILD:STRING="BuildWithAll" -DTEX_INTERACTION:STRING="batchmode" -DENABLE_PCH:BOOL=OFF \ | |
../ | |
- name: Build Package | |
working-directory: ./build | |
shell: bash | |
run: cmake --build . --target package -j 4 | |
- name: Upload Tarball as artifact for testing | |
uses: actions/upload-artifact@v4 | |
with: | |
name: energyplus-${{ matrix.os }} | |
path: build/EnergyPlus-*-x86_64.tar.gz | |
if-no-files-found: error | |
retention-days: 7 | |
overwrite: false | |
- name: Upload Tarball to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/EnergyPlus-*-x86_64.tar.gz | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
- name: Upload IFW to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/EnergyPlus-*-x86_64.run | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
- name: Upload SH to release | |
uses: svenstaro/upload-release-action@v2 | |
with: | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
file: build/EnergyPlus-*-x86_64.sh | |
tag: ${{ github.ref }} | |
overwrite: true | |
file_glob: true | |
asset_name: ${{ matrix.os }}_LinuxShellInstaller | |
test_package: | |
name: Test Built Package | |
needs: build_installer_artifact | |
runs-on: ${{ matrix.os }} | |
strategy: | |
# fail-fast: Default is true, switch to false to allow one platform to fail and still run others | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
test_key: ubuntu2204 | |
- os: ubuntu-24.04 | |
test_key: ubuntu2404 | |
steps: | |
- uses: actions/checkout@v4 # Still need E+ checked out to get testing scripts | |
with: | |
path: checkout | |
- name: Set up Python ${{ env.Python_REQUIRED_VERSION }} | |
uses: jmarrec/setup-python@v5 | |
id: setup-python | |
with: | |
python-version: ${{ env.Python_REQUIRED_VERSION }} | |
architecture: ${{ matrix.arch }} | |
- name: Gather Test Package from Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: energyplus-${{ matrix.os }} | |
path: package | |
- name: Check Contents | |
shell: bash | |
run: ls | |
- name: Check Package contents | |
shell: bash | |
working-directory: package | |
run: ls | |
- name: Run Package Tests | |
run: python checkout/scripts/package_tests/runner.py --verbose ${{ matrix.test_key }} package/ |