Skip to content

Build CEA Setup

Build CEA Setup #149

Workflow file for this run

name: Build CEA Windows setup
on:
workflow_dispatch
jobs:
build_win_setup:
runs-on: "windows-latest"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Install CEA to python environment
run: pip install .
- name: Get CEA version
shell: bash
run: echo "CEA_VERSION=$(python -c "import cea; print(cea.__version__)")" >> "$GITHUB_ENV"
- name: Create sdist of CEA
shell: bash
run: |
python -m pip install build
python -m build
mv dist/cityenergyanalyst-$CEA_VERSION.tar.gz setup/cityenergyanalyst.tar.gz
- name: Cache CEA env
id: cache-env
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/setup/dependencies/cea-env.7z
key: ${{ runner.os }}-${{ hashFiles('conda-lock.yml') }}-env
- uses: mamba-org/setup-micromamba@v1
if: steps.cache-env.outputs.cache-hit != 'true'
with:
environment-file: conda-lock.yml
environment-name: cea
micromamba-binary-path: setup/dependencies/micromamba.exe
create-args: --no-pyc
- name: Clean conda environment
if: steps.cache-env.outputs.cache-hit != 'true'
shell: bash -el {0}
run: micromamba clean -afy
- name: Compress conda environment
if: steps.cache-env.outputs.cache-hit != 'true'
shell: bash -el {0}
run: 7z a setup/dependencies/cea-env.7z $MAMBA_ROOT_PREFIX
- uses: actions/checkout@v4
with:
path: gui
repository: architecture-building-systems/CityEnergyAnalyst-GUI
ref: vite-electron
- name: Cache GUI
id: cache-gui
uses: actions/cache@v4
with:
path: ${{ github.workspace }}/setup/dashboard
key: ${{ runner.os }}-${{ hashFiles('gui/electron', 'gui/src', 'gui/yarn.lock') }}-gui-setup
- name: Package CEA GUI
if: steps.cache-gui.outputs.cache-hit != 'true'
shell: bash
run: |
cd $GITHUB_WORKSPACE/gui
yarn
yarn electron:build
mv out/win-unpacked $GITHUB_WORKSPACE/setup/dashboard
- name: Install setup plugin
shell: bash
run: |
cd "C:\Program Files (x86)\NSIS\Plugins\x86-unicode"
curl -o Nsis7z.7z https://nsis.sourceforge.io/mediawiki/images/6/69/Nsis7z_19.00.7z
7z e Nsis7z.7z Plugins/x86-unicode/nsis7z.dll
- name: Make setup
shell: bash
run: |
mkdir -p $GITHUB_WORKSPACE/setup/Output
makensis $GITHUB_WORKSPACE/setup/cityenergyanalyst.nsi
- name: Upload setup
uses: actions/upload-artifact@v4
with:
name: setup
path: ${{ github.workspace }}\setup\Output