12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- name: Release 3X-ui
- on:
- push:
- tags:
- - "*"
- workflow_dispatch:
- jobs:
- build:
- strategy:
- matrix:
- platform: [amd64, arm64]
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout repository
- uses: actions/[email protected]
- - name: Setup Go
- uses: actions/[email protected]
- with:
- go-version: '1.20'
-
- - name: Install dependencies for arm64
- if: matrix.platform == 'arm64'
- run: |
- sudo apt-get update
- sudo apt install gcc-aarch64-linux-gnu
- - name: Build x-ui
- run: |
- export CGO_ENABLED=1
- export GOOS=linux
- export GOARCH=${{ matrix.platform }}
- if [ "${{ matrix.platform }}" == "arm64" ]; then
- export CC=aarch64-linux-gnu-gcc
- fi
- go build -o xui-release -v main.go
-
- mkdir x-ui
- cp xui-release x-ui/
- cp x-ui.service x-ui/
- cp x-ui.sh x-ui/
- mv x-ui/xui-release x-ui/x-ui
- mkdir x-ui/bin
- cd x-ui/bin
-
- # Download dependencies
- if [ "${{ matrix.platform }}" == "amd64" ]; then
- wget https://github.com/XTLS/Xray-core/releases/download/v1.8.1/Xray-linux-64.zip
- unzip Xray-linux-64.zip
- rm -f Xray-linux-64.zip
- else
- wget https://github.com/XTLS/Xray-core/releases/download/v1.8.1/Xray-linux-arm64-v8a.zip
- unzip Xray-linux-arm64-v8a.zip
- rm -f Xray-linux-arm64-v8a.zip
- fi
- rm -f geoip.dat geosite.dat iran.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
- wget https://github.com/MasterKia/iran-hosted-domains/releases/latest/download/iran.dat
- mv xray xray-linux-${{ matrix.platform }}
- cd ../..
-
- - name: Package
- run: tar -zcvf x-ui-linux-${{ matrix.platform }}.tar.gz x-ui
-
- - name: Upload
- uses: svenstaro/[email protected]
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- tag: ${{ github.ref }}
- file: x-ui-linux-${{ matrix.platform }}.tar.gz
- asset_name: x-ui-linux-${{ matrix.platform }}.tar.gz
- prerelease: true
- overwrite: true
|