Skip to content

Build MSI

Build MSI #12

Workflow file for this run

name: Build MSI
on:
workflow_dispatch:
inputs:
# since this is being triggered manually on branch but we should use our regular git tags when we're back on the normal flow
msi_version:
description: "MSI package version (e.g., 1.0.0)"
required: true
jobs:
build-msi:
runs-on: windows-2019
steps:
- name: Checkout code
uses: actions/checkout@v3
# - name: Install GitHub CLI
# run: |
# choco install gh --yes
# # Step 3: Only needed while we provide manual versions
# - name: Check for existing version
# shell: bash
# run: |
# if gh release view | grep "agent-${{ github.event.inputs.msi_version }}.msi"; then
# echo "Error: An artifact with version '${{ github.event.inputs.msi_version }}' already exists. Please increment the version."
# exit 1
# fi
# env:
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# - name: Set up Go
# uses: actions/setup-go@v4
# with:
# go-version: '1.23.1'
# - name: Install Make
# run: choco install make --yes
- name: Add NuGet Feed
run: dotnet nuget add source https://nuget.pkg.github.com/wixtoolset/index.json -n wixtoolset
- name: Install WiX CLI
run: dotnet tool install --global wix
# debugging steps
- name: Search for WiX Extensions
run: |
dotnet nuget list source
wix extension list
- name: Install WiX Extensions
run: |
wix extension add -g WixToolset.Util
wix extension add -g WixToolset.Firewall
# - name: Build Go binary
# run: make windows
# - name: Build MSI
# run: |
# wix build agent.wxs \
# --define GoBinDir="${{ github.workspace }}" \
# --define MSIProductVersion="${{ github.event.inputs.msi_version }}" \
# --ext WixToolset.Util.wixext \
# --ext WixToolset.Firewall.wixext \
# -o agent-${{ github.event.inputs.msi_version }}.msi
# - name: Upload MSI artifact
# uses: actions/upload-artifact@v3
# with:
# name: agent-${{ github.event.inputs.msi_version }}.msi
# path: agent-${{ github.event.inputs.msi_version }}.msi