Skip to content

Commit

Permalink
Modify the build linux script and add release package deb
Browse files Browse the repository at this point in the history
  • Loading branch information
2dust committed Dec 25, 2024
1 parent b43975e commit 199d87b
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 22 deletions.
39 changes: 35 additions & 4 deletions .github/workflows/build-linux.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
name: release Linux

on:
workflow_dispatch:
inputs:
release_tag:
required: false
type: string
push:
branches: [ "master" ]
pull_request:
Expand All @@ -21,14 +26,40 @@ jobs:
- name: Build
run: |
cd v2rayN
chmod 755 build-linux.sh
./build-linux.sh
OutputPath='./bin/v2rayN'
OutputPath64="${OutputPath}/linux-x64"
OutputPathArm64="${OutputPath}/linux-arm64"
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-x64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPath64
dotnet publish ./v2rayN.Desktop/v2rayN.Desktop.csproj -c Release -r linux-arm64 --self-contained true -p:PublishReadyToRun=false -p:PublishSingleFile=true -o $OutputPathArm64
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: v2rayN-linux
path: |
./v2rayN/v2rayN-linux.zip
./v2rayN/bin/v2rayN
- name: Package debian
if: github.event.inputs.release_tag != ''
run: |
cd v2rayN
chmod 755 package-debian.sh
./package-debian.sh ${{ github.event.inputs.release_tag }} x64
./package-debian.sh ${{ github.event.inputs.release_tag }} arm64
- name: Upload Package artifacts
uses: actions/upload-artifact@v4
if: github.event.inputs.release_tag != ''
with:
name: v2rayN-linux-Package
path: |
${{ github.workspace }}/v2rayN/v2rayN*.deb
- name: Upload to release
uses: svenstaro/upload-release-action@v2
if: github.event.inputs.release_tag != ''
with:
file: ${{ github.workspace }}/v2rayN/v2rayN*.deb
tag: ${{ github.event.inputs.release_tag }}
file_glob: true
prerelease: true
18 changes: 0 additions & 18 deletions v2rayN/build-linux.sh

This file was deleted.

51 changes: 51 additions & 0 deletions v2rayN/package-debian.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash

version="$1"
arch="$2"

OutputPath="v2rayN-linux-${arch}"
mkdir -p "${OutputPath}/DEBIAN"
mkdir -p "${OutputPath}/opt"
cp -r "./bin/v2rayN/linux-${arch}" "${OutputPath}/opt"
mv "${OutputPath}/opt/linux-${arch}" "${OutputPath}/opt/v2rayN"


if [ $arch = "x64" ]; then
Arch2="amd64"
else
Arch2="arm64"
fi
echo $Arch2

# basic
cat >"${OutputPath}/DEBIAN/control" <<-EOF
Package: v2rayN
Version: $version
Architecture: $Arch2
Maintainer: https://github.com/2dust/v2rayN
Description: A GUI client for Windows and Linux, support Xray core and sing-box-core and others
EOF

cat >"${OutputPath}/DEBIAN/postinst" <<-EOF
if [ ! -s /usr/share/applications/v2rayN.desktop ]; then
cat >/usr/share/applications/v2rayN.desktop<<-END
[Desktop Entry]
Name=v2rayN
Comment=A GUI client for Windows and Linux, support Xray core and sing-box-core and others
Exec=/opt/v2rayN/v2rayN
Icon=/opt/v2rayN/v2rayN.png
Terminal=false
Type=Application
Categories=Network;Application;
END
fi
update-desktop-database
EOF

sudo chmod 0755 "${OutputPath}/DEBIAN/postinst"
sudo chmod 0755 "${OutputPath}/opt/v2rayN/v2rayN"

# desktop && PATH

sudo dpkg-deb -Zxz --build $OutputPath

0 comments on commit 199d87b

Please sign in to comment.