diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..8269a31b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,134 @@ +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: false + 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/download/v1.5.4/Xray-linux-64.zip + unzip Xray-linux-64.zip + rm -f Xray-linux-64.zip + 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: | + GOOS=linux GOARCH=arm64 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/download/v1.5.4/Xray-linux-arm64-v8a.zip + unzip Xray-linux-arm64-v8a.zip + rm -f Xray-linux-arm64-v8a.zip + 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: | + GOOS=linux GOARCH=s390x 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/download/v1.5.4/Xray-linux-s390x.zip + unzip Xray-linux-s390x.zip + rm -f Xray-linux-s390x.zip + 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