Skip to content

fix:Remove 32 bit windows support for nri-winservices#222

Merged
nravada merged 1 commit intomasterfrom
NR-495829
Dec 8, 2025
Merged

fix:Remove 32 bit windows support for nri-winservices#222
nravada merged 1 commit intomasterfrom
NR-495829

Conversation

@nravada
Copy link
Contributor

@nravada nravada commented Dec 1, 2025

Description

Please include a summary of the change and which issue is fixed or feature is introduced.

Checklist:

  • I checked that Licenses of new dependencies is compliant with our guidelines

  • I have performed a self-review of my own code

  • I have added comments in my code to clarify it

  • I have updated the documentation accordingly

  • I have added tests that show my fix/feature works

  • I cleaned the commit history, and they are following the conventional commits pattern, es:

    `type(scope): what I have changed`
    

Test scenarios:
Test 1: Official Build Script (64-bit):

PS C:\Users\nravada\newrelic\nri-winservices> .\win_build.ps1 -skipTests -skipExporterCompile
--- Checking dependencies
--- Collecting files
--- Format check
--- Running Build
--- Collecting Go main files
generating winservices
creating nri-winservices.exe
PS C:\Users\nravada\newrelic\nri-winservices> Get-Item "target\bin\windows_amd64\nri-winservices.exe" | Format-Table Name, Length, LastWriteTime -AutoSize

Name Length LastWriteTime


nri-winservices.exe 18683904 12/1/2025 11:37:50 AM
PS C:\Users\nravada\newrelic\nri-winservices> .\target\bin\windows_amd64\nri-winservices.exe -version
integration version: v0.0.0 commit: 14cf858

Test 2: Direct Go Build (64-bit):

PS C:\Users\nravada\newrelic\nri-winservices> go build -o "test_direct_amd64.exe" ./src/
PS C:\Users\nravada\newrelic\nri-winservices> Get-Item "test_direct_amd64.exe" | Format-Table Name, Length, LastWriteTime -AutoSize

Name Length LastWriteTime


test_direct_amd64.exe 18683392 12/1/2025 11:41:28 AM

PS C:\Users\nravada\newrelic\nri-winservices> .\test_direct_amd64.exe -version
integration version: v0.0.0 commit: default

Test 3: Explicit 64-bit Go Build:

PS C:\Users\nravada\newrelic\nri-winservices> $env:GOOS="windows"; $env:GOARCH="amd64"; go build -o "test_explicit_amd64.exe" ./src/; echo "Build completed with exit code: $LASTEXITCODE"
Build completed with exit code: 0
PS C:\Users\nravada\newrelic\nri-winservices> Get-Item "test_explicit_amd64.exe" | Format-Table Name, Length, LastWriteTime -AutoSize

Name Length LastWriteTime


test_explicit_amd64.exe 18683392 12/1/2025 11:42:44 AM

PS C:\Users\nravada\newrelic\nri-winservices> .\test_explicit_amd64.exe -version
integration version: v0.0.0 commit: default

Test 4: Try 32-bit Build with Build Script (Should Fail):

PS C:\Users\nravada\newrelic\nri-winservices> .\win_build.ps1 -arch "386" -skipTests -skipExporterCompile 2>&1 | Select-Object -First 5
C:\Users\nravada\newrelic\nri-winservices\win_build.ps1 : Cannot validate argument on parameter 'arch'.
The argument "386" does not belong to the set "amd64" specified by the ValidateSet attribute. Supply an
argument that is in the set and then try the command again.
At line:1 char:23

  • .\win_build.ps1 -arch "386" -skipTests -skipExporterCompile 2>&1 | Se ...
  •                   ~~~~~
    
    • CategoryInfo : InvalidData: (:) [win_build.ps1], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationError,win_build.ps1

Test 5: Try Direct 32-bit Build (Should Fail):

PS C:\Users\nravada\newrelic\nri-winservices> $env:GOOS="windows"; $env:GOARCH="386"; go build -o "test_386_blocked.exe" ./src/ 2>&1 | Select-Object -First 3
go : package github.com/newrelic/nri-winservices/src: build constraints exclude all Go files in
C:\Users\nravada\newrelic\nri-winservices\src
At line:1 char:41

  • ... :GOARCH="386"; go build -o "test_386_blocked.exe" ./src/ 2>&1 | Selec ...
  •                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : NotSpecified: (package github....winservices\src:String) [], RemoteExceptio
      n
    • FullyQualifiedErrorId : NativeCommandError

PS C:\Users\nravada\newrelic\nri-winservices> Test-Path "test_386_blocked.exe"
False

Test 6: Run Unit Tests (64-bit):

PS C:\Users\nravada\newrelic\nri-winservices> go env GOARCH
arm64
PS C:\Users\nravada\newrelic\nri-winservices> powershell -Command "cd 'C:\Users\nravada\newrelic\nri-winservices'; `$env:GOARCH='amd64'; go test ./src/matcher/ ./src/nri/" 2>&1 | Select-String "PASS|FAIL|ok"

ok github.com/newrelic/nri-winservices/src/matcher 0.412s
ok github.com/newrelic/nri-winservices/src/nri 0.570s

Summary:
Build Method 64-bit (amd64) 32-bit (386)
Official Build Script ✅ Works ❌ Blocked
Direct Go Build ✅ Works ❌ Blocked
Explicit GOARCH ✅ Works ❌ Blocked
Unit Tests ✅ Pass ❌ Blocked

@nravada nravada requested a review from a team as a code owner December 1, 2025 06:46
Copy link

@nr-ksteinbach nr-ksteinbach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@nravada nravada merged commit 4858b04 into master Dec 8, 2025
8 checks passed
@nravada nravada deleted the NR-495829 branch December 8, 2025 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments