Skip to content

manual_msi_build

manual_msi_build #119

name: manual_msi_build
on:
workflow_dispatch:
inputs:
version:
description: "Collector Version"
required: true
default: "v0.0.1"
jobs:
build-64bit-msi:
runs-on: windows-2022
steps:
- name: Checkout Sources
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
check-latest: true
- name: Install tools
run: make install-tools
- name: Release Prep
run: make release-prep
- name: Build Binaries
run: make build-binaries
- name: Copy Windows Collector Binary
run: cp dist/collector_windows_amd64.exe windows/observiq-otel-collector.exe
- name: Copy Windows Updater Binary
run: cp dist/updater_windows_amd64.exe windows/updater.exe
- name: Copy Supervisor Binary
run: cp release_deps/supervisor_bin/opampsupervisor_windows_amd64.exe windows/opampsupervisor.exe
- name: Copy Plugins to MSI Build Directory
run: cp -r release_deps/plugins windows/
- name: Copy Example Config
run: cp config/example.yaml windows/config.yaml
- name: Copy JMX Receiver Jar
run: cp release_deps/opentelemetry-java-contrib-jmx-metrics.jar windows/opentelemetry-java-contrib-jmx-metrics.jar
- name: Copy LICENSE
run: cp LICENSE windows/LICENSE
- name: Copy VERSION file
run: cp release_deps/VERSION.txt windows/VERSION.txt
# HACK: Copy build directory to C drive to avoid this error, since there must be a relative path from the tempdir that go-msi uses
# for the MSI to build properly
- name: Copy Build Dir
run: |
cp -r windows C:/build
echo "C:/build" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# Installs go-msi and wix.
- name: Install Build Tools
run: |
curl -f -L -o go-msi.exe https://github.com/observIQ/go-msi/releases/download/v2.3.0/go-msi.exe
curl -f -L -o wix310-binaries.zip https://github.com/wixtoolset/wix3/releases/download/wix3104rtm/wix310-binaries.zip
unzip wix310-binaries.zip
working-directory: C:/build
- name: "Build MSI from Tagged Release"
run: go-msi.exe make -m observiq-otel-collector.msi --version ${{ github.event.inputs.version }} --arch amd64
working-directory: C:/build
- name: "Upload MSI"
uses: actions/upload-artifact@v4
with:
name: observiq-otel-collector.msi
path: C:/build/observiq-otel-collector.msi
# Short lived because this is meant as an action for developers
retention-days: 1