From 687e8cf1ba224c20b8b312c41fd00f891e5f26e4 Mon Sep 17 00:00:00 2001 From: Ebrahim Tahernejad Date: Tue, 3 Feb 2026 01:56:04 +0330 Subject: [PATCH] [Windows] Use MSYS2 to fix the runtime CGO problem (#3689) * Use MSYS2 to fix the runtime CGO problem * macOS build workflow * Remove macOS build steps and update Windows packaging Removed macOS build steps from the release workflow and updated Windows packaging step. * Rename step to copy and download resources --- .github/workflows/release.yml | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ed816c5..dda4d3d8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -173,16 +173,37 @@ jobs: go-version-file: go.mod check-latest: true - - name: Build 3X-UI for Windows + - name: Install MSYS2 + uses: msys2/setup-msys2@v2 + with: + msystem: MINGW64 + update: true + install: >- + mingw-w64-x86_64-gcc + mingw-w64-x86_64-sqlite3 + mingw-w64-x86_64-pkg-config + + - name: Build 3X-UI for Windows (CGO) + shell: msys2 {0} + run: | + export PATH="/c/hostedtoolcache/windows/go/$(ls /c/hostedtoolcache/windows/go | sort -V | tail -n1)/x64/bin:$PATH" + + export CGO_ENABLED=1 + export GOOS=windows + export GOARCH=amd64 + export CC=x86_64-w64-mingw32-gcc + + which go + go version + gcc --version + + go build -ldflags "-w -s" -o xui-release.exe -v main.go + + - name: Copy and download resources shell: pwsh run: | - $env:CGO_ENABLED="1" - $env:GOOS="windows" - $env:GOARCH="amd64" - go build -ldflags "-w -s" -o xui-release.exe -v main.go - mkdir x-ui - Copy-Item xui-release.exe x-ui\ + Copy-Item xui-release.exe x-ui\x-ui.exe mkdir x-ui\bin cd x-ui\bin