Skip to main content

How to deploy UI installer for developers

The IDAES Flowsheet Processor is deployable into a desktop application compatible with either Windows or MacOS (ARM64) operating systems. The application can be deployed into one of three different versions: WaterTAP, IDAES, or PrOMMIS. Each version comes with a custom styling and default set of flowsheets. The default flowsheets are provided by the parent projects, but user provided flowsheets can always be uploaded through the frontend after installation.

To deploy a new version of the application installer, please follow the steps outlined below.

Note, you must be a collaborator on the project to run this workflow from the main repository. Please contact one of the team members to be added as a collaborator OR create your own fork.

  1. Navigate to the GitHub deployment dispatch here OR create a fork of idaes-eletron-build, navigate to actions, and click Application Build Dispatch on the left sidebar.
  2. Click on Run workflow dropdown.
  3. Fill out inputs. Some have default values, but be sure to choose the correct operating system, project, pip target, and artifact name. See image below.
  4. Click run workflow.
Once initiated, you should see the new workflow run added to the list on the GitHub console. Builds can take between 15 to 30 minutes, depending on the project and operating system involved. Once finished, the installer will be ready for download inside the workflow run under artifacts.

Code-sign your application

The build workflow outlined above has code-signing built into it. However, to run the code-signing steps, you must complete a few additional steps.

Windows

  1. Purchase a Microsoft code-signing certificate, and host it in Azure Key Vault. For a step-by-step guide on how to accomplish this, follow this tutorial.
    • Once you complete this, you should have the following credentials: AZURE_KEY_VAULT_URI, AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, AZURE_CERT_NAME.
  2. In your fork of idaes-electron-build, navigate to Settings -> Secrets and Variables -> Actions.
  3. Add a new repository secret for each of AZURE_KEY_VAULT_URI, AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, AZURE_CERT_NAME, using the values for your client.

Mac

There are 2 steps for creating trusted Mac applications. The application must be code signed, and then it must be uploaded and notarized by Apple. Both of these steps are covered in the workflow, as long as proper credentials are provided.

  1. Sign up for an Apple Developer Account
  2. Create a Developer ID Application certificate.
  3. Add a new repository secret for each of APPLE_BUILD_CERTIFICATE_BASE64, P12_PASSWORD, and KEYCHAIN_PASSWORD for code-signing, in addition to APPLE_ID, APPLE_ID_PASSWORD, and TEAM_ID for notarizing.

Once you have added the proper credentials as secret variables, the workflow will automatically detect them and attempt to use them for code-signing the application during the build process.