feat: windows docker images#34
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Greptile Overview
Summary
Added Windows Docker image build support for the Infisical CLI, currently limited to amd64 architecture. The implementation includes a dedicated goreleaser-windows job running on Windows 2022 that builds and publishes Windows container images to Docker Hub.
Key changes:
- Added
goreleaser-windowsjob with Windows 2022 runner that builds amd64 binaries and Docker images - Fixed config file path from
goreleaser-windows.yamlto.goreleaser-windows.yaml(dotfile) - Added required secrets (
GITHUB_TOKEN,AUR_KEY) to Windows job environment - Simplified
.goreleaser-windows.yamlto remove arm64 support, Docker Buildx flags, and multi-arch manifests - Made main
goreleaserjob depend ongoreleaser-windowscompletion (sequential execution) - Removed Docker Buildx setup step from Windows job (not needed for single-arch build)
- Cleaned up commented test integration code
Confidence Score: 4/5
- This PR is safe to merge with minimal risk - adds platform-specific build support with proper isolation
- The changes are well-scoped to Windows Docker image support with proper secret configuration. The config file path fix prevents runtime errors. Sequential job execution (while potentially slower) ensures stability. Only minor concern is the increased build time from sequential execution, though this appears intentional based on the comment.
- No files require special attention - changes are straightforward build configuration updates
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| .github/workflows/release_build_infisical_cli.yml | 4/5 | Added Windows Docker build job with proper config path fix and required secrets; removed commented test code and Docker Buildx setup |
| .goreleaser-windows.yaml | 5/5 | Simplified Windows build config to support only amd64 architecture; removed arm64 support, buildx flags, and multi-arch manifests |
Sequence Diagram
sequenceDiagram
participant GH as GitHub Workflow
participant WinRunner as Windows Runner
participant LinuxRunner as Linux Runner
participant GoReleaser as GoReleaser Pro
participant Docker as Docker Hub
participant NPM as NPM Registry
Note over GH: Triggered on tag push (v*.*.*)
GH->>WinRunner: Start goreleaser-windows job
WinRunner->>WinRunner: Checkout & setup Go
WinRunner->>Docker: Login to Docker Hub
WinRunner->>GoReleaser: Run with .goreleaser-windows.yaml
GoReleaser->>GoReleaser: Build Windows amd64 binary
GoReleaser->>Docker: Push infisical/cli:*-windows-amd64 images
WinRunner-->>GH: Windows build complete
GH->>LinuxRunner: Start goreleaser job (depends on goreleaser-windows)
LinuxRunner->>LinuxRunner: Checkout & setup dependencies
LinuxRunner->>Docker: Login & setup Buildx
LinuxRunner->>GoReleaser: Run with .goreleaser.yaml
GoReleaser->>GoReleaser: Build Linux/macOS/other platforms
GoReleaser->>Docker: Push multi-platform images
LinuxRunner-->>GH: Main build complete
GH->>LinuxRunner: Start npm-release job (depends on goreleaser)
LinuxRunner->>LinuxRunner: Extract version & setup Node
LinuxRunner->>NPM: Publish CLI package
LinuxRunner-->>GH: Release complete
Additional Comments (1)
-
.github/workflows/release_build_infisical_cli.yml, line 74 (link)style: The comment in code says "For quick iteration" but this dependency forces sequential execution (Windows first, then Linux), which increases total release time. Consider if parallel execution would be more appropriate.
2 files reviewed, 1 comment
carlosmonastyrski
approved these changes
Oct 14, 2025
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description 📣
Type ✨
Tests 🛠️
# Here's some code block to paste some code snippets