Skip to content

Commit

Permalink
update MSI build action
Browse files Browse the repository at this point in the history
  • Loading branch information
smithclay committed Feb 28, 2024
1 parent b285be7 commit 4c025e6
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 28 deletions.
69 changes: 52 additions & 17 deletions .github/workflows/release-msi.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,49 @@
# Based on https://github.com/Bedrock-OSS/regolith/blob/b340a6f4bd208b265c3a0f6bbb59206ab8486545/.github/workflows/release.yml
# https://dev.to/abdfnx/how-to-create-a-msi-file-for-go-program-je

name: Release MSI
name: Release Windows MSI

on:
workflow_dispatch:
push:
tags: ["v*"]

jobs:
release-msi:
permissions:
id-token: write
packages: write
contents: write

runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '~1.21.5'
check-latest: true
- name: Download latest *.zip release
uses: robinraju/[email protected]
with:
latest: true
extract: true
fileName: otelcol-servicenow_*_windows_amd64.zip
# - name: Validate collector release
# run: |
# ls -la
# echo "Validating collector"
# ./collector/otelcol-servicenow.exe validate --config ./config/otelcol-windows-hostmetrics.yaml

- name: Install Tools
working-directory: collector
run: make install-tools

- name: Build collector
working-directory: collector
run: make build-windows

- run: mv .\otelcol-servicenow\otelcol-servicenow .\otelcol-servicenow.exe
working-directory: collector

- name: Validate collector release
working-directory: collector
run: .\otelcol-servicenow.exe validate --config config\otelcol-windows-hostmetrics.yaml

- run: ls -la
shell: bash

- name: Cache Wix Toolset
id: cache-wix
uses: actions/cache@v3
Expand All @@ -49,14 +61,37 @@ jobs:
go install github.com/stirante/go-msi@latest
ls -la
mkdir collector/windows/go-msi-tmp
cp otelcol-servicenow.exe collector/windows/otelcol-servicenow.exe
cp collector/config/otelcol-windows-hostmetrics.yaml collector/windows/config.yaml
cp collector/otelcol-servicenow.exe collector/windows/otelcol-servicenow.exe
cp LICENSE collector/windows/LICENSE.txt
shell: bash

- name: Build MSI
if: startsWith(github.ref, 'refs/tags/')
run: |
ls -la
cd collector/windows
ls -la
go-msi make --msi sn-collector-v0.0.1.msi --version v0.0.1 --src templates --out .\go-msi-tmp
shell: bash
go-msi make --msi sn-collector.msi --version ${{ github.ref_name }} --src templates --out .\go-msi-tmp
shell: bash

- name: Diagnostics
run: |
pwd
ls -la
shell: bash

- name: Upload MSI Artifact
uses: actions/upload-artifact@v4
with:
name: sn-collector.msi
path: collector/windows/sn-collector.msi
# Short lived because this is meant as an action for developers
retention-days: 1

- name: Add MSI to Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
collector/windows/sn-collector.msi
10 changes: 6 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,13 @@ jobs:
go-version: '~1.21.5'
check-latest: true

- name: Install tools
working-directory: collector
run: make install-tools

- name: Generate distribution sources
run: |
go install go.opentelemetry.io/collector/cmd/[email protected]
cd collector
builder --config otelcol-builder.yaml --skip-compilation
working-directory: collector
run: builder --config otelcol-builder.yaml --skip-compilation

- name: Login to GitHub Package Registry
uses: docker/login-action@v3
Expand Down
16 changes: 9 additions & 7 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ builds:
goos:
- darwin
- linux
- windows
# Disabled for Windows as we handle that in in release-msi.yml
# - windows
goarch:
- amd64
- arm
Expand All @@ -20,12 +21,13 @@ builds:
goarch: arm
- goos: darwin
goarch: s390x
- goos: windows
goarch: arm
- goos: windows
goarch: arm64
- goos: windows
goarch: s390x
# Disabled for Windows as we handle that in release-msi.yml
# - goos: windows
# goarch: arm
# - goos: windows
# goarch: arm64
# - goos: windows
# goarch: s390x
dir: ./collector/otelcol-servicenow
binary: otelcol-servicenow
ldflags:
Expand Down
3 changes: 3 additions & 0 deletions collector/windows/wix.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
{
"path": "otelcol-servicenow.exe"
},
{
"path": "config.yaml"
},
{
"path": "LICENSE.txt"
}
Expand Down

0 comments on commit 4c025e6

Please sign in to comment.