From 2b338d671e734b1ca90d069464037f1e323ebdc8 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed, 6 Sep 2023 17:17:23 +0200
Subject: [PATCH 1/4] ghactions: build: Add win-gvproxy and win-sshproxy

This will ensure they get into our release assets, and may eventually
help removing manual builds from podman Makefile:
https://github.com/containers/podman/blob/2806378c1a21f3ed55dfff2f32ef98ab0d9eec23/Makefile#L775-L787

After this commit, we'll build both gvproxy-windows.exe and
gvproxy-windowsgui.exe, the former can be started from a console, and
the latter will run in the background.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
---
 .github/workflows/go.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index ce77d0d91..d883e76e2 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -20,7 +20,9 @@ jobs:
         go-version: 1.20.x
 
     - name: Build
-      run: make cross qemu-wrapper vm
+      run: |
+        make cross qemu-wrapper vm win-gvproxy win-sshproxy
+        mv bin/gvproxy.exe bin/gvproxy-windowsgui.exe
 
     - uses: actions/upload-artifact@v3
       with:

From 395e2342c4883aace3ccee68ace431d77accf9ce Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed, 6 Sep 2023 17:19:17 +0200
Subject: [PATCH 2/4] ghactions: Use `make win-sshproxy`

The manual `go build` invocation is duplicating what is already being
done in the Makefile

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
---
 .github/workflows/go.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index d883e76e2..208b27082 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -67,7 +67,7 @@ jobs:
         go-version: 1.20.x
 
     - name: Build 
-      run: go build -ldflags -H=windowsgui -o bin/win-sshproxy.exe ./cmd/win-sshproxy
+      run: make win-sshproxy
 
     - name: Test 
       run: go test -v .\test-win-sshproxy

From 2f260144ab19aeb099ec8f445f7824f0b2af80e0 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed, 6 Sep 2023 17:19:57 +0200
Subject: [PATCH 3/4] ghactions: Use macos-latest instead of macos-11

The macOS version should not matter for our tests. If we don't hardcode
a version, we don't need to update it ourselves when it's obsoleted.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
---
 .github/workflows/go.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 208b27082..274e5754e 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -30,7 +30,7 @@ jobs:
         path: bin/*
 
   tests:
-    runs-on: macos-11 # Only Mac runners support nested virt
+    runs-on: macos-latest # Only Mac runners support nested virt
     needs: build # Don't bother testing if cross arch build fails
     timeout-minutes: 30
     steps:

From b1731b14b7155c1633c2d4560bf28fa2e0f5cac5 Mon Sep 17 00:00:00 2001
From: Christophe Fergeau <cfergeau@redhat.com>
Date: Wed, 6 Sep 2023 17:47:03 +0200
Subject: [PATCH 4/4] ghactions: Add comment explaining why we stay on
 ubuntu-20.04

It's used on purpose, see commit 428c40018 and
https://github.com/containers/gvisor-tap-vsock/issues/256

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
---
 .github/workflows/go.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 274e5754e..4c69d714b 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -9,7 +9,7 @@ on:
 jobs:
 
   build:
-    runs-on: ubuntu-20.04
+    runs-on: ubuntu-20.04 # explicitly use 20.04, see commit 428c40018a
     timeout-minutes: 30
     steps:
     - uses: actions/checkout@v3