diff options
Diffstat (limited to '.github')
| -rw-r--r-- | .github/dependabot.yml | 10 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 146 |
2 files changed, 156 insertions, 0 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..6e4fd399 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: "gomod" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..db2c6cbc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,146 @@ +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 |
