Skip to content

Automatic Builds

David Sangrey edited this page Jun 3, 2024 · 2 revisions

Introduction

Instead of building manually as laid out by Releasing, you can build the EDMarketConnector installer using GitHub actions.

Initiating a workflow run

Automatically on tag push

Once you are sure you have a branch all ready for release as a new version you should be adding a Release/<semantic version> tag at that HEAD. Pushing such a tag to GitHub will cause the the GitHub Windows Build Action file to build an installer and create a draft release, with the pre-release box pre-ticked. This ensures you don't accidentally create a new non-pre release which will always become the target of the latest shortcut on GitHub.

You can monitor such an auto-build from the Actions tab on GitHub. If it completes successfully then check the Releases tab on GitHub for the draft that was created.

See Releasing.md#Distribution for details on how to fully publish an automatic release so that running EDMarketConnector.exe clients pick it up as an update.

Manually

Starting a workflow run is done from the Actions tab at the top of the main GitHub UI

NB: The branch you want to build must have the workflow file (.github/workflows/windows-build.yml), and the version of the file in that branch is the version that will be used for the build (e.g. for different python versions)

  1. Select the Actions tab at the top of the main GitHub interface
  2. Select the Build EDMC for Windows workflow on the left
  3. Click the "Run workflow" button at the right side of the blue banner
    1. Select the branch you want to build
    2. Click the "Run Workflow"

Downloading built installer files

When the workflow is (successfully) completed, it will upload the msi file it built as a "Workflow Artifact". You can find the artifacts as follows:

  1. Select All workflows on the left
  2. Select the Build EDMC for Windows action
  3. Select your build (probably the top one)
  4. Find the Built Files artifact

Within the Built Files zip file is the installer msi

Please ensure you test the built msi before creating a release.