Use MSYS2 to fix the runtime CGO problem

This commit is contained in:
Ebrahim Tahernejad 2026-01-21 19:10:13 +03:30 committed by GitHub
parent 328ba3b45e
commit 511684d289
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -173,14 +173,35 @@ jobs:
go-version-file: go.mod go-version-file: go.mod
check-latest: true check-latest: true
- 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: Build 3X-UI for Windows - name: Build 3X-UI for Windows
shell: pwsh shell: pwsh
run: | 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 mkdir x-ui
Copy-Item xui-release.exe x-ui\ Copy-Item xui-release.exe x-ui\
mkdir x-ui\bin mkdir x-ui\bin