Skip to content

register_install_codesign_target takes an optional ENTITLEMENTS singl… #1

register_install_codesign_target takes an optional ENTITLEMENTS singl…

register_install_codesign_target takes an optional ENTITLEMENTS singl… #1

Workflow file for this run

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/