diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..9f7d7d11 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,147 @@ +name: Release X-ui +on: + push: + tags: + - 0.* + workflow_dispatch: + +jobs: + release: + runs-on: ubuntu-latest + outputs: + upload_url: ${{ steps.create_release.outputs.upload_url }} + steps: + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GAYHUB_TOKEN }} + with: + tag_name: ${{ github.ref }} + release_name: ${{ github.ref }} + draft: true + prerelease: true + linuxamd64build: + name: build x-ui amd64 version + needs: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.18 + - name: build linux amd64 version + run: | + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o xui-release -v main.go + mkdir x-ui + cp xui-release x-ui/xui-release + cp x-ui.service x-ui/x-ui.service + cp x-ui.sh x-ui/x-ui.sh + cd x-ui + mv xui-release x-ui + mkdir bin + cd bin + wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-64.zip + unzip Xray-linux-64.zip + rm -f Xray-linux-64.zip geoip.dat geosite.dat + wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat + wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat + mv xray xray-linux-amd64 + cd .. + cd .. + - name: package + run: tar -zcvf x-ui-linux-amd64.tar.gz x-ui + - name: upload + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GAYHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.upload_url }} + asset_path: x-ui-linux-amd64.tar.gz + asset_name: x-ui-linux-amd64.tar.gz + asset_content_type: application/gzip + linuxarm64build: + name: build x-ui arm64 version + needs: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.18 + - name: build linux arm64 version + run: | + sudo apt-get update + sudo apt install gcc-aarch64-linux-gnu + CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -o xui-release -v main.go + mkdir x-ui + cp xui-release x-ui/xui-release + cp x-ui.service x-ui/x-ui.service + cp x-ui.sh x-ui/x-ui.sh + cd x-ui + mv xui-release x-ui + mkdir bin + cd bin + wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-arm64-v8a.zip + unzip Xray-linux-arm64-v8a.zip + rm -f Xray-linux-arm64-v8a.zip geoip.dat geosite.dat + wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat + wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat + mv xray xray-linux-arm64 + cd .. + cd .. + - name: package + run: tar -zcvf x-ui-linux-arm64.tar.gz x-ui + - name: upload + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GAYHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.upload_url }} + asset_path: x-ui-linux-arm64.tar.gz + asset_name: x-ui-linux-arm64.tar.gz + asset_content_type: application/gzip + linuxs390xbuild: + name: build x-ui s390x version + needs: release + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.18 + - name: build linux s390x version + run: | + sudo apt-get update + sudo apt install gcc-s390x-linux-gnu -y + CGO_ENABLED=1 GOOS=linux GOARCH=s390x CC=s390x-linux-gnu-gcc go build -o xui-release -v main.go + mkdir x-ui + cp xui-release x-ui/xui-release + cp x-ui.service x-ui/x-ui.service + cp x-ui.sh x-ui/x-ui.sh + cd x-ui + mv xui-release x-ui + mkdir bin + cd bin + wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-s390x.zip + unzip Xray-linux-s390x.zip + rm -f Xray-linux-s390x.zip geoip.dat geosite.dat + wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat + wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat + mv xray xray-linux-s390x + cd .. + cd .. + - name: package + run: tar -zcvf x-ui-linux-s390x.tar.gz x-ui + - name: upload + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GAYHUB_TOKEN }} + with: + upload_url: ${{ needs.release.outputs.upload_url }} + asset_path: x-ui-linux-s390x.tar.gz + asset_name: x-ui-linux-s390x.tar.gz + asset_content_type: application/gzip diff --git a/install.sh b/install.sh index bedf6a89..e1e1f2f5 100755 --- a/install.sh +++ b/install.sh @@ -35,6 +35,8 @@ if [[ $arch == "x86_64" || $arch == "x64" || $arch == "amd64" ]]; then arch="amd64" elif [[ $arch == "aarch64" || $arch == "arm64" ]]; then arch="arm64" +elif [[ $arch == "s390x" ]]; then + arch="s390x" else arch="amd64" echo -e "${red}检测架构失败,使用默认架构: ${arch}${plain}"