Skip to content

feat: windows docker images#34

Merged
varonix0 merged 4 commits into
mainfrom
daniel/windows-images
Oct 14, 2025
Merged

feat: windows docker images#34
varonix0 merged 4 commits into
mainfrom
daniel/windows-images

Conversation

@varonix0
Copy link
Copy Markdown
Member

Description 📣

Type ✨

  • Bug fix
  • New feature
  • Improvement
  • Breaking change
  • Documentation

Tests 🛠️

# Here's some code block to paste some code snippets

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

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

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-windows job with Windows 2022 runner that builds amd64 binaries and Docker images
  • Fixed config file path from goreleaser-windows.yaml to .goreleaser-windows.yaml (dotfile)
  • Added required secrets (GITHUB_TOKEN, AUR_KEY) to Windows job environment
  • Simplified .goreleaser-windows.yaml to remove arm64 support, Docker Buildx flags, and multi-arch manifests
  • Made main goreleaser job depend on goreleaser-windows completion (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
Loading

Additional Comments (1)

  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

Edit Code Review Agent Settings | Greptile

@varonix0 varonix0 merged commit 1307499 into main Oct 14, 2025
2 checks passed
@greptile-apps greptile-apps Bot mentioned this pull request Oct 14, 2025
6 tasks
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