Skip to content

Commit 20290db

Browse files
authored
Merge pull request #31 from Infisical/daniel/windows-docker
feat: windows docker images
2 parents 136dedf + 216c8f3 commit 20290db

File tree

3 files changed

+92
-1
lines changed

3 files changed

+92
-1
lines changed

.github/workflows/release_build_infisical_cli.yml

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484

8585
goreleaser:
8686
runs-on: ubuntu-latest-8-cores
87-
# needs: [cli-integration-tests]
87+
needs: [goreleaser-windows] # For quick iteration, we're releasing Windows images first
8888
steps:
8989
- uses: actions/checkout@v3
9090
with:
@@ -151,3 +151,39 @@ jobs:
151151
AWS_ACCESS_KEY_ID: ${{ secrets.INFISICAL_CLI_REPO_AWS_ACCESS_KEY_ID }}
152152
AWS_SECRET_ACCESS_KEY: ${{ secrets.INFISICAL_CLI_REPO_AWS_SECRET_ACCESS_KEY }}
153153
CLOUDFRONT_DISTRIBUTION_ID: ${{ secrets.INFISICAL_CLI_REPO_CLOUDFRONT_DISTRIBUTION_ID }}
154+
155+
goreleaser-windows:
156+
runs-on: windows-2022
157+
# needs: [goreleaser]
158+
steps:
159+
- uses: actions/checkout@v3
160+
with:
161+
fetch-depth: 0
162+
163+
- name: Fetch all tags
164+
run: git fetch --force --tags
165+
166+
- name: Set up Go
167+
uses: actions/setup-go@v3
168+
with:
169+
go-version: ">=1.19.3"
170+
cache: true
171+
cache-dependency-path: go.sum
172+
173+
- name: 🐋 Login to Docker Hub
174+
uses: docker/login-action@v2
175+
with:
176+
username: ${{ secrets.DOCKERHUB_USERNAME }}
177+
password: ${{ secrets.DOCKERHUB_TOKEN }}
178+
179+
- name: 🔧 Set up Docker Buildx
180+
uses: docker/setup-buildx-action@v2
181+
182+
- uses: goreleaser/goreleaser-action@v4
183+
with:
184+
distribution: goreleaser-pro
185+
version: v1.26.2-pro
186+
args: release --clean --config goreleaser-windows.yaml --skip-validate
187+
env:
188+
POSTHOG_API_KEY_FOR_CLI: ${{ secrets.POSTHOG_API_KEY_FOR_CLI }}
189+
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}

.goreleaser-windows.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
builds:
2+
- id: windows-build
3+
env:
4+
- CGO_ENABLED=0
5+
binary: infisical
6+
ldflags:
7+
- -X github.com/Infisical/infisical-merge/packages/util.CLI_VERSION={{ .Version }}
8+
- -X github.com/Infisical/infisical-merge/packages/telemetry.POSTHOG_API_KEY_FOR_CLI={{ .Env.POSTHOG_API_KEY_FOR_CLI }}
9+
flags:
10+
- -trimpath
11+
goos:
12+
- windows
13+
goarch:
14+
- amd64
15+
- arm64
16+
17+
dockers:
18+
- dockerfile: docker/windows
19+
goos: windows
20+
goarch: amd64
21+
use: buildx
22+
ids:
23+
- windows-build
24+
image_templates:
25+
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-windows-amd64"
26+
- "infisical/cli:latest-windows-amd64"
27+
build_flag_templates:
28+
- "--pull"
29+
- "--platform=windows/amd64"
30+
31+
- dockerfile: docker/windows
32+
goos: windows
33+
goarch: arm64
34+
use: buildx
35+
ids:
36+
- windows-build
37+
image_templates:
38+
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-windows-arm64"
39+
- "infisical/cli:latest-windows-arm64"
40+
build_flag_templates:
41+
- "--pull"
42+
- "--platform=windows/arm64"
43+
docker_manifests:
44+
- name_template: "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-windows"
45+
image_templates:
46+
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-windows-amd64"
47+
- "infisical/cli:{{ .Major }}.{{ .Minor }}.{{ .Patch }}-windows-arm64"
48+
49+
- name_template: "infisical/cli:latest-windows"
50+
image_templates:
51+
- "infisical/cli:latest-windows-amd64"
52+
- "infisical/cli:latest-windows-arm64"

docker/windows

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
FROM mcr.microsoft.com/windows/nanoserver:ltsc2022
2+
COPY infisical.exe /infisical.exe
3+
ENTRYPOINT ["C:\\infisical.exe"]

0 commit comments

Comments
 (0)