name: Release 3X-ui on: push: tags: - "*" workflow_dispatch: jobs: release: runs-on: ubuntu-20.04 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.GITHUB_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-20.04 steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.19 - 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.GITHUB_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-20.04 steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.19 - 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.GITHUB_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-20.04 steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: 1.19 - 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.GITHUB_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