wireproxy/.github/workflows/build.yml
Evsyukov Denis a2d7aecb6f
fix: improvements in memory consumption (#100)
* fix: must close the connection after processing

I think it should help to close #80

* feat: migration to github.com/things-go/go-socks5

- preallocate config slices
- not used interfaces in consumer
- do not allocate new variables in loops

* feat: close connection after full processing

* feat: correct process sigint signal

* feat: improve build system

* fix: http proxy

* feat: update golangci-lint-action to v3.7.0

* feat: correct process routines

* fix: close http conn correctly

* feat: update golangci-lint-action to v4

* fix: goreleaser used clean now
2024-02-11 12:45:43 +00:00

151 lines
4.9 KiB
YAML

name: Build
on:
push:
branches:
- '**'
pull_request:
branches:
- '**'
workflow_dispatch:
jobs:
windowsAmd64Build:
name: Build Windows amd64 Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Windows amd64 Version
run: |
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o WireProxy_amd64.exe -v ./cmd/wireproxy
mkdir release_windows_amd64
mv WireProxy_amd64.exe wireproxy.exe
cp wireproxy.exe release_windows_amd64/wireproxy.exe
- name: Upload Windows amd64 Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_windows_amd64
path: release_windows_amd64
windowsArm64Build:
name: Build Windows arm64 Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Windows arm64 Version
run: |
CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -o WireProxy_arm64.exe -v ./cmd/wireproxy
mkdir release_windows_arm64
mv WireProxy_arm64.exe wireproxy.exe
cp wireproxy.exe release_windows_arm64/wireproxy.exe
- name: Upload Windows arm64 Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_windows_arm64
path: release_windows_arm64
linuxAmd64Build:
name: Build Linux amd64 Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Linux amd64 Version
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o WireProxy_amd64 -v ./cmd/wireproxy
mkdir release_linux_amd64
mv WireProxy_amd64 wireproxy
cp wireproxy release_linux_amd64/wireproxy
- name: Upload Linux amd64 Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_linux_amd64
path: release_linux_amd64
linuxArm64Build:
name: Build Linux arm64 Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Linux arm64 Version
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o WireProxy_arm64 -v ./cmd/wireproxy
mkdir release_linux_arm64
mv WireProxy_arm64 wireproxy
cp wireproxy release_linux_arm64/wireproxy
- name: Upload Linux arm64 Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_linux_arm64
path: release_linux_arm64
linuxS390xBuild:
name: Build Linux s390x Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Linux s390x Version
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=s390x go build -o WireProxy_s390x -v ./cmd/wireproxy
mkdir release_linux_s390x
mv WireProxy_s390x wireproxy
cp wireproxy release_linux_s390x/wireproxy
- name: Upload Linux s390x Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_linux_s390x
path: release_linux_s390x
darwinAmd64Build:
name: Build Darwin amd64 Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Darwin amd64 Version
run: |
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o WireProxy_amd64 -v ./cmd/wireproxy
mkdir release_darwin_amd64
mv WireProxy_amd64 wireproxy
cp wireproxy release_darwin_amd64/wireproxy
- name: Upload Darwin amd64 Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_darwin_amd64
path: release_darwin_amd64
darwinArm64Build:
name: Build Darwin arm64 Version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setting up Go
uses: actions/setup-go@v5
with:
go-version: "1.21"
- name: Building Darwin arm64 Version
run: |
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o WireProxy_arm64 -v ./cmd/wireproxy
mkdir release_darwin_arm64
mv WireProxy_arm64 wireproxy
cp wireproxy release_darwin_arm64/wireproxy
- name: Upload Darwin arm64 Version
uses: actions/upload-artifact@v4
with:
name: WireProxy_darwin_arm64
path: release_darwin_arm64