From 5726e64b9f84bf7eee53bddeeef494eb921f699b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=E1=BA=A7n=20Nguy=E1=BB=85n=20Tu=E1=BA=A5n=20Anh?= <43093213+dopaemon@users.noreply.github.com> Date: Tue, 16 Apr 2024 17:42:21 +0700 Subject: [PATCH] workflows: Optimize and reduce binary size (#76) * workflows: Optimize and reduce binary size Signed-off-by: dopaemon * workflows: add tags osusergo Signed-off-by: dopaemon --------- Signed-off-by: dopaemon --- .github/workflows/release.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 70e82f9..5d121c9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,10 +31,9 @@ jobs: with: node-version: '20' registry-url: 'https://registry.npmjs.org' - - name: Install dependencies run: | - sudo apt-get update + sudo apt-get update && sudo apt-get install upx -yq if [ "${{ matrix.platform }}" == "arm64" ]; then sudo apt install gcc-aarch64-linux-gnu elif [ "${{ matrix.platform }}" == "armv7" ]; then @@ -71,14 +70,16 @@ jobs: #### Build Sing-Box git clone -b v1.8.7 https://github.com/SagerNet/sing-box cd sing-box - go build -tags with_v2ray_api,with_clash_api,with_grpc,with_quic,with_ech -o sing-box ./cmd/sing-box + go build -v -gcflags=all="-l -B -C" -mod=mod -trimpath -ldflags "-s -w -buildid= -extldflags '-static'" -a -tags='netgo osusergo static_build with_v2ray_api with_clash_api with_grpc with_quic with_ech' -o sing-box ./cmd/sing-box + upx --ultra-brute -9 -v --lzma --best --force sing-box cd .. ### Build s-ui cd backend - go build -o ../sui main.go + go build -v -gcflags=all="-l -B -C" -mod=mod -trimpath -ldflags "-s -w -buildid= -extldflags '-static'" -a -tags='netgo osusergo static_build sqlite_omit_load_extension' -o ../sui main.go cd .. - + upx --ultra-brute -9 -v --lzma --best --force sui + mkdir s-ui cp sui s-ui/ cp s-ui.service s-ui/ @@ -86,10 +87,10 @@ jobs: mkdir s-ui/bin cp sing-box/sing-box s-ui/bin/ cp runSingbox.sh s-ui/bin/ - + - name: Package run: tar -zcvf s-ui-linux-${{ matrix.platform }}.tar.gz s-ui - + - name: Upload uses: svenstaro/upload-release-action@v2 with: