Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHo3ein <ho3ein.sanaei@gmail.com>2023-05-29 15:27:12 +0300
committerGitHub <noreply@github.com>2023-05-29 15:27:12 +0300
commitde571a2da4a89d8058d6e7b5c11b1b53be581cf6 (patch)
tree589d2e311048cc148ddbb884bc5eb7ef928060e8
parent2c233dffa533c2b67054640517be112033902d6b (diff)
Workflow with Matrix Strategy
-rw-r--r--.github/workflows/release.yml118
1 files changed, 52 insertions, 66 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e0df3284..04c5c4a9 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -1,4 +1,5 @@
-name: Release X-ui
+name: Release 3X-ui
+
on:
push:
tags:
@@ -6,85 +7,70 @@ on:
workflow_dispatch:
jobs:
- linuxamd64build:
- name: build x-ui amd64 version
+ build:
+ strategy:
+ matrix:
+ platform: [amd64, arm64]
runs-on: ubuntu-20.04
steps:
- - uses: actions/checkout@v3.5.2
- - name: Set up Go
- uses: actions/setup-go@v4.0.1
- with:
- go-version: "stable"
- - 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/mhsanaei/Xray-core/releases/latest/download/Xray-linux-64.zip
- unzip Xray-linux-64.zip
- rm -f Xray-linux-64.zip 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/bootmortis/iran-hosted-domains/releases/latest/download/iran.dat
- mv xray xray-linux-amd64
- cd ..
- cd ..
- - name: package
- run: tar -zcvf x-ui-linux-amd64.tar.gz x-ui
- - name: upload
- uses: svenstaro/upload-release-action@2.6.0
- with:
- repo_token: ${{ secrets.GITHUB_TOKEN }}
- tag: ${{ github.ref }}
- file: x-ui-linux-amd64.tar.gz
- asset_name: x-ui-linux-amd64.tar.gz
- prerelease: true
- overwrite: true
- linuxarm64build:
- name: build x-ui arm64 version
- runs-on: ubuntu-20.04
- steps:
- - uses: actions/checkout@v3.5.2
- - name: Set up Go
+ - name: Checkout repository
+ uses: actions/checkout@v3.5.2
+
+ - name: Setup Go
uses: actions/setup-go@v4.0.1
with:
- go-version: "stable"
- - name: build linux arm64 version
+ go-version: 'stable'
+
+ - name: Install dependencies for arm64
+ if: matrix.platform == 'arm64'
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
+
+ - 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/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/mhsanaei/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 iran.dat
+ 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/mhsanaei/Xray-core/releases/latest/download/Xray-linux-64.zip
+ unzip Xray-linux-64.zip
+ rm -f Xray-linux-64.zip
+ else
+ wget https://github.com/mhsanaei/Xray-core/releases/latest/download/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/bootmortis/iran-hosted-domains/releases/latest/download/iran.dat
- mv xray xray-linux-arm64
- cd ..
- cd ..
- - name: package
- run: tar -zcvf x-ui-linux-arm64.tar.gz x-ui
- - name: upload
+ mv xray xray-${{ matrix.platform }}
+ cd ../..
+
+ - name: Package
+ run: tar -zcvf x-ui-${{ matrix.platform }}.tar.gz x-ui
+
+ - name: Upload
uses: svenstaro/upload-release-action@2.6.0
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
- file: x-ui-linux-arm64.tar.gz
- asset_name: x-ui-linux-arm64.tar.gz
+ file: x-ui-${{ matrix.platform }}.tar.gz
+ asset_name: x-ui-${{ matrix.platform }}.tar.gz
prerelease: true
overwrite: true